You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apex中程序化清除/重置交互式报表的行过滤器

解决方案:程序化重置APEX交互式报表行过滤器(仅离开指定页面时触发)

一、精准重置行过滤器的JavaScript代码

reset-report动作会重置整个报表(包括排序、分页、列显示等),要仅重置行过滤器,需直接操作Interactive Grid的Model和视图:

// 获取Interactive Grid的Grid视图
var igGrid = apex.region("IR").widget().interactiveGrid("getViews", "grid");
// 清除行过滤器
igGrid.model.clearFilters();
// 刷新视图应用更改
igGrid.viewGrid();

二、页面加载时触发的正确时机

预渲染流程是服务器端执行,此时客户端的Interactive Grid尚未初始化,因此无法生效。需在页面加载完成后执行代码,可通过apex.widget.waitFor确保IR初始化完成:

apex.widget.waitFor(
    // 检查IR是否已准备就绪
    function(){ return apex.region("IR") && apex.region("IR").widget().interactiveGrid("isReady"); },
    // IR就绪后执行重置逻辑
    function(){
        var igGrid = apex.region("IR").widget().interactiveGrid("getViews", "grid");
        igGrid.model.clearFilters();
        igGrid.viewGrid();
    }
);

将这段代码添加到页面的JavaScript > Execute When Page Loads区域,或创建一个“页面加载后”触发的动态动作(执行JavaScript代码)。

三、仅离开Page 4时重置过滤器的逻辑

要实现仅从Page 4跳转到其他页面时才重置过滤器,可通过sessionStorage标记实现:

步骤1:在Page 4添加页面卸载标记

在Page 4的JavaScript > Execute When Page Loads区域添加:

// 页面卸载前设置标记
window.addEventListener('beforeunload', function() {
    sessionStorage.setItem('needResetIRFilters', 'true');
});

步骤2:在目标页面添加重置逻辑

在需要重置过滤器的页面(如所有非Page 4的页面)的JavaScript > Execute When Page Loads区域添加:

apex.widget.waitFor(
    function(){ return apex.region("IR") && apex.region("IR").widget().interactiveGrid("isReady"); },
    function(){
        // 检查是否来自Page 4的跳转
        if(sessionStorage.getItem('needResetIRFilters') === 'true'){
            var igGrid = apex.region("IR").widget().interactiveGrid("getViews", "grid");
            igGrid.model.clearFilters();
            igGrid.viewGrid();
            // 清除标记,避免重复触发
            sessionStorage.removeItem('needResetIRFilters');
        }
    }
);

此逻辑下,仅当从Page 4跳转到其他页面时才会重置过滤器,当前页的分页、刷新操作不会触发重置。

四、解决分页按钮重置过滤器的问题

默认情况下,Interactive Grid的分页操作会保留行过滤器。如果你的分页按钮出现重置过滤器的情况,需检查:

  • 确认IR的属性中记住报告设置已启用(在IR属性的“高级”选项卡中)
  • 排查是否有自定义JavaScript代码在分页时意外触发了过滤器重置

内容的提问来源于stack exchange,提问作者Bob Veitch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:45:27