【发布时间】:2015-03-04 07:04:06
【问题描述】:
在 FileNet 中是否有任何方法可以对查询进行分页?我有一个带有分页的网格控件,因此我需要获取查询中的元素总数以及获取结果示例第 3 页的可能性(任何页面大小)。我只找到了 TOP 运算符,但有没有 SKIP 或 COUNT?
【问题讨论】:
标签: filenet-p8 filenet filenet-content-engine filenet-ce-sql
在 FileNet 中是否有任何方法可以对查询进行分页?我有一个带有分页的网格控件,因此我需要获取查询中的元素总数以及获取结果示例第 3 页的可能性(任何页面大小)。我只找到了 TOP 运算符,但有没有 SKIP 或 COUNT?
【问题讨论】:
标签: filenet-p8 filenet filenet-content-engine filenet-ce-sql
没有办法完全实现你想要的。造成这种情况的主要原因是 Content Engine 对查询返回的所有行进行计数非常昂贵(假设有数千行)。可能必须对每个返回的对象应用相当复杂的安全限制。这将有效地从查询结果中排除一些对象,影响结果计数。评估多个对象的有效安全权限会降低性能,因此可以避免。这就是为什么您在查询语言中没有 COUNT 或其他聚合函数的原因。
如果您可以将网格中显示的记录数量限制在一个合理的范围内,那么COUNT_LIMIT 可能对您有用——请参阅Query Options 和getTotalCount()。但是,这将需要循环到所需的页面,其固有的性能缺陷。
【讨论】:
这是一个很好的链接,其中包含一个关于分页如何工作的后端示例:
至于总数,这应该在 pageiterator 对象中: pageIterator api page
在这种情况下,您需要手动跟踪 UI 中的分页
或者作为替代方案,安装、配置和实施 CMIS 以执行将页面跳过作为默认功能的操作
【讨论】: