我在Apex 5中有一个交互式报告,每次加载页面时,我都希望它看上去与我第一次运行它时所显示的完全一样,并设置为默认设置。
问题是,如果用户在下次页面加载时应用任何筛选器或隐藏列,报表就会记住该配置。
我试图在这里使用无文档化的APEX_IR.RESET_REPORT过程:
但是它要么不起作用,要么只是取消最后一个更改,或者需要多次运行才能实际工作。
在页面加载时,我尝试使用以下代码执行动态操作:
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; 每次加载页面时,我都希望报表处于默认状态(在第一次运行时)。
相反,报告将显示最后一个状态,即使用户注销、登录和重新启动应用程序也是如此。
发布于 2017-12-07 01:20:27
将RIR作为URL中的清除缓存参数发送
URL看起来就像
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过程的这一点。
此过程只应在页面提交过程中使用。
所以你才有麻烦
https://stackoverflow.com/questions/47676488
复制相似问题