作为 Select 列表的交互式网格的总行数

Total Row Count of an Interactive Grid as a Select List

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

有什么办法可以实现吗?

所以您本质上需要的是 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,并且每次您现在使用的 Select 列表发生更改时。 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 中使用它来将 "text" 更改为你在那里需要的任何东西。

以及在js中获取页面item的值,如果你不熟悉, https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/6341/index-en.html

希望对您有所帮助