我在Apex 5中有一个交互式报告,每次页面加载时,我都希望它看起来与我第一次运行时的显示完全一样,并使用默认设置。
问题在于,如果用户应用任何过滤器或隐藏列,则下次加载页面时,报告会记住该配置。
我尝试使用未记录的APEX_IR.RESET_REPORT程序:
https://docs.oracle.com/database/121/AEAPI/apex_ir.htm#BABEJAFB
但它要么不起作用,要么只撤消最后一次更改,或者需要多次运行才能实际工作。
我在页面加载时尝试使用以下代码进行动态操作:
DECLARE
v_region_id APEX_APPLICATION_PAGE_REGIONS.REGION_ID%TYPE;
BEGIN
SELECT region_id INTO v_region_id
FROM APEX_APPLICATION_PAGE_REGIONS
WHERE application_id = :APP_ID
AND page_id = :APP_PAGE_ID
AND static_id = 'Images_Report';
APEX_IR.RESET_REPORT(
P_page_id => :APP_PAGE_ID,
P_region_id => v_region_id,
p_report_id => null
);
END;
我也试过这段代码
DECLARE
v_region_id APEX_APPLICATION_PAGE_REGIONS.REGION_ID%TYPE;
BEGIN
SELECT region_id INTO v_region_id
FROM APEX_APPLICATION_PAGE_REGIONS
WHERE application_id = :APP_ID
AND page_id = :APP_PAGE_ID
AND static_id = 'Images_Report';
APEX_IR.RESET_REPORT(
P_page_id => :APP_PAGE_ID,
P_region_id => v_region_id,
p_report_id => APEX_IR.GET_LAST_VIEWED_REPORT_ID(
p_page_id => :APP_PAGE_ID,
p_region_id => v_region_id
)
);
END;
每次加载页面时,我都希望报告看起来处于默认状态(首次运行时)。
相反,报告显示最后一个状态,即使用户注销,也会登录并重新启动应用程序。
答案 0 :(得分:0)
将RIR作为网址
中的clear cache参数发送网址看起来像
f?p=102:94:6722612001859::NO:RIR::
https://docs.oracle.com/database/apex-5.1/HTMDB/understanding-url-syntax.htm#HTMDB03019
文档说明了有关apex_ir.reset_report过程的信息
此过程只应在页面提交过程中使用。
这可能是你遇到麻烦的原因