我有一个交互式报表,我想以编程方式重置行筛选器。
Filter
我想知道这是否可能,无论是动态的还是通过其他手段。
apex.region(“IR”).widget().interactiveGrid(“getActions”).invoke(“reset-report”);
和
apex.region(“IR”).call(“getActions”).invoke(“reset-report”);
但这两个都引用了一个报告,这是一个行过滤器?
我能够做到这一点来自另一个链接的网页与以下内容。link reset
但我认为这将是更好地通过一个页面加载,以涵盖所有其他网页,没有链接?
在头显之前尝试了这个,没有运气:
Pre-Rendering Process
Process settings
发现了一个新问题,该问题与单击分页上的下一个箭头按钮有关,这确实重置了过滤器。如果我们保留当前的page_id,则只需要重置过滤器。例如,我们在page_id 4上,我们点击下一步按钮来查看IR中的所有数据,只有当我们离开page_id 4时,我们才需要重置过滤器。
1条答案
按热度按时间h43kikqp1#
交互式报表(IR)区域和交互式网格(IG)区域是具有非常不同的体系结构的两个组件。IR是一个很多“老”(在APEX 3.2中引入),是更多的“基于服务器”,并没有一个客户端模型(和相应的JavaScript编程选项),IG有。您在问题中显示的IG JavaScript调用永远不会对IR起作用,因为它没有任何客户端架构来监听这些操作。
最初,重置页面过滤器的唯一方法是通过URL进行重置。但是,在APEX 5中添加了API
APEX_IR
,因此可以在页面进程中的页面加载时清除或重置报告过滤器:例如:上面的代码需要进入页面进程,假设IR的静态ID为emp