Oracle apex 19.2 在可折叠报告为空时向用户显示

Oracle apex 19.2 show user if collapsible report is empty

如果任何可折叠报表中有行或为空(当它处于折叠状态时),我需要向用户显示

我正在尝试找到一个适用于所有表格的通用且简单的解决方案。

目前,我唯一的想法是在刷新后为每个报表执行动态操作(“通知为空”)。然后检查 'Client-side Condition' 和 javascript 如果它有行:

$(this.triggeringElement).find('.nodatafound').length==1;

然后我将相应的可折叠图标着色为 red/green:

$(this.triggeringElement).find('.t-Button--icon').css("background-color", "red")

此解决方案有效(适用于经典和交互式报告,但我没有交互式网格) 但是我有很多表,即使我将 javascript 代码放在函数中,它也会重复很多次。我正在寻找一个更易于维护的选项。我可以将所有报告的内置动态操作放在一个地方。

谢谢

您是否考虑过在表中查询行数 separately/first 并将每个计数保存到用于计算每个区域显示的页面项中?

很久以前我也有类似的需求,我就是这样解决的。它的 Oracle 代码有点多,但 Oracle 擅长于此,对吗?

见下图:

also use 刷新后的客户端条件来测试任何结果。

一段时间以来,我一直在考虑一个全局方法,所以我想我终于可以尝试一下了。

您可以在全局页面上执行刷新后动态操作,使用 jQuery 选择器 .t-Region

测试任何 classic 报告

然后在触发元素上具有相同的客户端条件和操作。

全局页面上的选择器也可以扩展为包括 IR。如果您想指定要测试的区域,则可以添加 class 该区域的外观 - CSS 类 属性。

或者,您可以在动态操作上使用 :not() CSS 选择器作为使用相同属性排除 提名区域的一种方式。