【问题标题】:Total Row Count of an Interactive Grid as a Select List作为选择列表的交互式网格的总行数
【发布时间】:2020-06-02 17:27:06
【问题描述】:

我有一个交互式网格,其中包含超过 200000 行数据。除了下面列出的页码之外,有什么方法可以让我有一个下拉选择列表,其中包含诸如 1-40 条记录、40-80 条记录等选项。这样用户就可以直接到报表的末尾了。

有什么方法可以实现吗?

【问题讨论】:

    标签: oracle-apex oracle-apex-5.1


    【解决方案1】:

    所以你本质上需要的是一个足够大的 SELECT 序列。 我认为这应该适合你

    select LEVEL 
      FROM DUAL 
    CONNECT BY LEVEL <= CEIL(:rowcount / 40);
    

    它的作用是创建一个直到 CEIL(:rowcount/40) 数字的序列,因此如果该数字为 3,则结果为 1、2、3。

    然后您可以使用它来显示 0-40、40-80、80-120、... 希望这能满足您的需求。

    编辑回答评论(更改底部的总行数):

    我认为这在 APEX 中是不可能实现的,但可以用 js 来完成。

    我建议您制作一个在启动时运行的 DA,并且每次更改您现在使用的选择列表时。 DA 会在下面生成你想要的当前文本,比如选择 40-80 你说“1 of 567”或其他什么,然后你必须用 js 设置这个文本。

    如果您还没有习惯 js 控制台,您将不得不习惯。

    您必须为网格设置一个静态 ID,然后运行如下所示的 js:

    var temp = $("span#dn_main_ig_grid_vc_pageRange")[0]
    temp.children[1].innerText = "text"
    

    其中 dn_main 是我的网格的静态 ID,所以用你的替换它。您应该打开控制台并一步一步地查看您在每一步中选择的内容。然后,一旦您了解这是做什么的,您就可以在您的 DA 中使用它来将“文本”更改为您需要的任何内容。

    而对于在js中获取页面项的值,万一你不熟悉, https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/6341/index-en.html

    希望对你有帮助

    【讨论】:

    • 如何在交互式网格底部显示这个“级别”而不是“总行数”?
    • @AbhinavDhiman 我编辑了答案以做出回应,因为它不适合评论
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 2020-11-07
    • 2023-04-07
    相关资源
    最近更新 更多