jsf - Primefaces 获取惰性模型中的所有数据

标签 jsf primefaces lazy-loading data-export

我在 Primefaces 中为数据表使用惰性模型。对于导出,我想获取所有数据,我指的是用于计算行数的数据。

我可以使用以下方法获取当前显示在数据表页面上的所有数据:

List<Info> data = (List<Info>) lazyModel.getWrappedData();

但是更多的页面可能会有更多的数据。是否有任何类似于刚才提到的方法来从数据表中获取所有数据?

我试过使用它,但它总是返回 null:

DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
            .findComponent(":form:infoTable");
List<Info> data = dataTable.getFilteredValue();

我尝试过的另一种方法是进行与计算行数几乎相同的查询,不同之处在于我得到的是对象列表,而不是行数,但为此我还需要一个过滤器。如果这可能是一个解决方案,我如何获得用于延迟加载的过滤器?

一般来说,我该如何解决这个问题?

最佳答案

解决办法是得到一个过滤器。 我已经从惰性模型中获取了我的自定义过滤器,并使用它从覆盖的加载方法中进行查询,所以唯一的区别是我没有首先使用参数和页面大小。

解决方案中没有真正新的东西,我只需要得到过滤器:

Map<String, Object> filters = ((MyLazyDataModel) lazyModel).getFilters().getFilters();

关于jsf - Primefaces 获取惰性模型中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32840994/

相关文章:

jsf - 当我点击任何链接时,它应该在 JSF、Primefaces 的同一个新窗口中打开

JQuery UI 日期选择器 : how to bind an event AFTER the calendar was rendered?

reactjs - 打包时如何减少 React 应用程序构建时间和理解 webpack 的行为

java - 即使我通过打印每个元素进行验证后,Iterable 也会抛出 NoSuchElementException

javascript - 如何在 javascript 中将值传递给托管 bean 属性而不使用 JSF 中的隐藏标记?

jsf - 在 Omnifaces 中禁用 RestorableViewHandler

javascript - 函数未定义 - jsf/javascript

java - 将 JSF inputText 的内容写入文件

ajax - Primefaces ajax 事件 contextMenu 导致显示默认右键菜单

javascript - 在 Firebase 中延迟加载时防止加载重复项