html 如何为经典报表创建一个类似交互式报表的搜索栏

prdp8dxp  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(116)

这里是我的问题,如何创建这样一个搜索栏:Search bar from Sample Database Application仅适用于位于模态页面中的经典报告。
我当前的环境是:

  • 甲骨文EE - 12.1
  • 顶点- 22.2.0
  • 订单-21.4

我不可能升级或降级这些版本的软件。
我不能使用交互式报表,因为查询是由用户输入的,它将被插入到报表中。IR不支持运行时不同的列长。
我不需要交互式报表的所有功能,我只需要这两个:Sort column specifier - Interactive reportSort Action - Interactive report有一个搜索栏,和一个重置按钮。如果外观和感觉保持不变,那就太完美了。
PS:这些照片来自Apex模板应用程序第2页的示例数据库应用程序。
所以,这是我开始做的:Search bar created manually (design)
我的问题有以下几点:

  • 如何创建一个属性data-menu,就像在模板应用程序中为按钮,其中将包含列名称和区分大小写的选项;
  • 然后如何根据选择的值修改占位符字段;
  • 如何使用"搜索“字段在不同列中进行搜索;
  • 如何创建排序选项,如上图所示

任何帮助将不胜感激,特别是如果你有例子,非常感谢。

bmvo0sr5

bmvo0sr51#

对于那些陷入同样问题的人,我有一些方法可以开始解决它们。虽然它没有我想象的那么漂亮,但它可以让你开始做一些功能性的事情,而不必硬编码到Apex中。
因此,按顺序:

*如何创建属性“data-menu”

为此,你可以点击这个链接(https://doyensys.com/blogs/popup-menu-in-apex/),它将解释如何轻松地创建一个弹出菜单。唯一的问题是,在Apex中,共享组件〉列表是静态的(弹出窗口的源值),这意味着,在我的例子中,我不能在运行时创建列的列表。

*修改占位符

我认为它会比我发现的要复杂得多。为此,只需在动态操作中创建一个“执行JS代码”,并通过使用$('#SEARCH_BAR').attr("placeholder", "The new placeholder")更改值来修改占位符。对于我的情况,我首先检查值,然后修改它。所以像这样:

if ($('#SEARCH_BAR').attr("placeholder") == "Search: All Texts Columns" && ...){
        $('#SEARCH_BAR').attr("placeholder", "The new placeholder")
}

(SEARCH_BAR当然是搜索栏的静态ID)。

*如何使用"搜索“字段在不同列中进行搜索

比较简单,因为在返回查询的报表的PL/SQL函数体中,我是根据项目值启用/禁用函数中的区分大小写选项,所以搜索栏也是同样的原理,我只需要创建一个where条件,检查其中一列中是否存在%keword%这样的关键字(这意味着创建一个循环来获取所有的列名,因为它是动态的),并且只显示那些值。

*如何创建排序选项(如上图所示)

这个,我没有找到,但我不会去实现它。如果有人曾经找到解决方案,我很感兴趣。
这可能不是最完整的回答,但我希望下一个人有这些问题将走得更快,从这个声明。

相关问题