是否可以创建一个显示所有文档的视图而无需转到下一页?换句话说,我被问到是否可以创建我们在Notes客户端中使用的相同类型的视图,其中用户将向下滚动以查看更多文档而不必转到下一页。
我很感激您的任何建议。谢谢!
XPages移动控件中有一个无限滚动组件,但它是为移动UI构建的。没有太多的经验。
@ teleman的解决方案适用于中等大小的视图,但对于较大的视图却有缺点(因为它会同时加载所有条目:这可能会导致性能问题)。
另一种方法是创建自己的解决方案/组件:找到您喜欢的JavaScript框架的JavaScript插件,并使用REST调用将其链接到视图的数据(例如,使用Extension Libraries REST控件)。请注意,ExtLib REST控件将向响应添加Content-Range
标头,您可以使用该标头确定接下来要获取的数据集(例如,当用户滚动到页面底部时)。
在viewPanel
设置rows="5000"
。然后,您可以添加CSS样式以使视图容器可滚动。
我认为Mark Leusink的解决方案无论如何都是最好的,因为一次在页面上加载整个条目实际上是一个巨大的性能问题。但是,如果您仍想这样做,请将rows
或<xp:viewPanel>
的<xp:repeat>
属性设置为2147483647
或#{javascript:java.lang.Integer.MAX_VALUE}
,这是int
数据类型的上限,用于底层UIDataIterator
方法。
对于Mark的回答,请查看this答案,该答案显示了获得无限滚动效果的技巧,尽管我自己没有尝试过。