首页 > 解决方案 > PL-SQL、Oracle Apex:如何向 PL-SQL 动态内容表添加分页?

问题描述

我在 Oracle Apex 中创建了一个 PL-SQL 动态内容报告,但是我无法弄清楚如何为其添加分页。我有太多行,因此向表格添加分页将提供更好的用户体验。我的示例代码如下所示:

开始

htp.p('<table>
  <tr> <th>ID</th> 
  <th>First Name</th> 
      <th>Last Name</th>
  <th>Email</th></tr>'); 

    for i in(select * from exampleTable)
    loop
        
            htp.p('<tr>
                <td>'||i.id||'</td>
                <td>'||i.first_Name||'</td>
                <td>'||i.last_name||'</td>
                <td>'||i.email||'</td>
            </tr>');
    
    end loop;

htp.p('</table>');

结尾;

标签: javascripthtmlcssplsqloracle-apex

解决方案


  • 在页面上创建两个隐藏项,例如Pxx_START_ROWPxx_PAGE_SIZE

  • 修改要分页的查询。这将要求您以某种方式对数据进行排序,假设您希望结果是确定性的。所以而不是

    从示例表中选择 *

你会有

 select *
   from exampleTable e
  order by e.id
 offset :Pxx_START_ROW rows
  fetch next :Pxx_PAGE_SIZE rows only
  • 然后创建一个Pxx_START_ROW在您单击某种“上一个”或“下一个”按钮时更新的进程。您可能希望更新您的动态过程以生成这些按钮,因为我希望您希望它们成为表格的一部分,尽管在功能上您可以在不同的区域中创建这些按钮。

推荐阅读