我有一个带有自定义按钮的交互式网格。单击该按钮时,将处理选定的行:
循环遍历所有选定的行并在行满足条件时为每一行执行回调。
apex.server.process
("process_selected_callback"
,{x01:$my_id}
,{type:'GET', dataType: 'text', success: function( text) {}}
);
我的回调基本上包含以下内容:
DECLARE
l_my_id NUMBER;
BEGIN
l_my_id := TO_NUMBER(apex_application.g_x01);
package1.my_process_record(l_my_id);
END;
满足行条件时的每次循环迭代,在执行回调之前,都会增加一个页面项以获取处理的记录数。在循环结束时,我调用 apex.submit:
apex.submit('DISPLAY_SUCCESS');
调用获取包含已处理记录计数的页面项的进程 -P1_RECORDS_PROCESSED
并用于apex_application.g_print_success_message
向用户显示消息,说明已处理的记录数。
一切正常,但有一个问题 - 很多时候DISPLAY_SUCCESS
进程在回调之前执行,因此处理的记录计数仅在显示消息后才会增加。如何确保在提交页面之前完成回调?
也许有更好的方法来处理选定的行?