Apex IR 多选批量处理后页面局部刷新
数据源sql
- 创建复选框
apex_item文档
1 2 3 4 5 6 7 8 9 10 11 12
| select EMPNO, ENAME, APEX_ITEM.CHECKBOX2(1,EMPNO) as CHECKBOX2, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, DNAME, LOC from EMP_DEPT_V
|
- 设置全选
CHECKBOX2列 列名标题
设置为
<input type="checkbox" onclick="javascript:$f_CheckAll(this, this.checked, $('[name=f01]'));">
隐藏一切用户操作并取消转义
设置Ajax回调
- 创建Ajax回调处理名字
GET_ID_INTO_COLL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| declare l_exists boolean; begin
APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION( p_collection_name => 'USER_CHOOSE_DATA_ID' ); FOR i IN 1..APEX_APPLICATION.G_F01.COUNT LOOP APEX_COLLECTION.ADD_MEMBER( p_collection_name => 'USER_CHOOSE_DATA_ID', p_c001 => APEX_APPLICATION.G_F01(i)); end loop; apex_json.open_object; apex_json.close_all;
end;
|
设置动态操作
- 创建批量处理按钮设置重定向弹框页并设置两个动态事件(关闭对话框刷新,点击事件)
官网文档
参考博客文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| var f01_arr = []; jQuery("input[name=f01]:checked").each( function (i) { f01_arr[i] = $(this).val(); } )
apex.server.process("GET_ID_INTO_COLL", { f01: f01_arr }, {async: false, success: function( data ) { }, error: function( jqXHR, textStatus, errorThrown ) { } } );
|
弹框页设置
查询选中的数据
select C001
from APEX_COLLECTIONs where collection_name =’USER_CHOOSE_DATA_ID’;
页项
根据自己的业务要求 此处省略
- 批量处理
根据自己的业务要求 此处省略
- 设置对话框关闭处理