Oracle apex 19.2显示用户可折叠报告是否为空

Oracle apex 19.2显示用户可折叠报告是否为空,oracle,oracle-apex,oracle-apex-19.2,Oracle,Oracle Apex,Oracle Apex 19.2,我需要向用户显示任何可折叠报告中是否有行或为空(当它处于折叠状态时) 我试图找到一个全局的、简单的解决方案,可以在所有表上运行 目前,我唯一的想法是在刷新后对每个报告执行动态操作(“notify empty”)。然后使用javascript签入“客户端条件”,如果它有以下行: $(this.triggeringElement).find('.nodatafound').length==1 然后,我用以下颜色将可折叠图标相应地涂成红色/绿色: $(this.triggeringElement).f

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

我试图找到一个全局的、简单的解决方案,可以在所有表上运行

目前,我唯一的想法是在刷新后对每个报告执行动态操作(“notify empty”)。然后使用javascript签入“客户端条件”,如果它有以下行:

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

然后,我用以下颜色将可折叠图标相应地涂成红色/绿色:

$(this.triggeringElement).find('.t按钮--icon').css(“背景色”,“红色”)

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


谢谢

您是否考虑过单独/首先查询表中的行数,并将每个行数保存到用于计算每个区域显示的页面项中

很久以前我也有类似的需求,我就是这样解决的。它比Oracle代码多一点,但Oracle在这方面很在行,对吗

请参阅下面的屏幕截图:

I刷新后的客户端条件以测试任何结果

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

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

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

全局页面上的选择器也可以扩展为包含IR。如果您想指定要测试的区域,那么可以在区域的外观-CSS Classes属性中添加一个类


或者,您可以使用动态操作上的
:not()
CSS选择器作为排除使用相同属性的指定区域的方法。

是的,我认为您的链接首先启发了我。我将在全局页面上尝试您的想法谢谢,全局JQuery选择器可以工作(我选择了“.t-Region--hideShow”类)。但是这个选择器的问题是,它引用了所有可折叠的区域,甚至是非表区域,有没有办法使它只特定于表区域?这里有几个选项,正如我在最初的回答中所回避的。您可以通过添加自己的类以指定区域为目标,忽略指定区域,或者您可以修改选择器和后续操作以查找“.t-Report.nodatafound”,然后转到$(this.triggeringElement).最接近您需要的操作(“.t-Region”)。如果仅在0记录时隐藏,这可能不是什么大问题,但在您的情况下,我假定您也有一个错误的操作会让您感到困惑。总而言之,我将自己的类添加到报表中,供JQuery选择器在P0中使用,然后在客户端条件上使用:$(this.triggeringElement.find(“.[ELEMENT\u To\u find]”).length==1------当元素\u TO \u FIND可以是其中之一时,根据报告类型1)。a-IRR-NODATAMG 2)。nodatafound 3)。a-GV-NODATAMG:可见。-------这也适用于错误操作和特定于每个表是的,Oracle代码更易于维护,但据我所知,此解决方案不是全局性的,需要单独处理每个表,对吗?我想我从未理解最初的问题。对不起,太吵了!