在Lazy加载的情况下,我使用参数覆盖load方法(int first,int pageSize,String sortField,SortOrder sortOrder,Map filters),
在这里,我将自定义过滤器放在过滤器中,通过它可以过滤Dao
类中的条件。
但是当我想在Dao
类中使用自定义过滤实现实时滚动时,我将如何从DataModel类传递load方法的参数(String sortField,SortOrder sortOrder,Map过滤器)。有必要
因为我想使用Dao
类中的条件对某些列进行排序和过滤。有谁能够帮我?感谢。
答案 0 :(得分:0)
尝试像这样实现自己的懒惰模型:
import org.primefaces.model.LazyDataModel
public class MyBeanClass{
LazyDataModel lazyModel
public MyBeanClass(){
lazyModel = new LazyDataModel() {
@Override
List load(int first, int pageSize, String sortField, boolean sortOrder, Map<String, String> filters) {
// here fetch data from your DAO and return as a list
}
}
}
}
然后将其与您的表格一起使用
<p:dataTable ... value="#{myBean.lazyModel}" ... >
...
</p:dataTable>