如何通过DataModel类的常规方法传递SortField,SortOrder,load方法的过滤器?

时间:2013-05-28 05:03:32

标签: jsf-2 primefaces datatable

在Lazy加载的情况下,我使用参数覆盖load方法(int first,int pageSize,String sortField,SortOrder sortOrder,Map filters), 在这里,我将自定义过滤器放在过滤器中,通过它可以过滤Dao类中的条件。

但是当我想在Dao类中使用自定义过滤实现实时滚动时,我将如何从DataModel类传递load方法的参数(String sortField,SortOrder sortOrder,Map过滤器)。有必要 因为我想使用Dao类中的条件对某些列进行排序和过滤。有谁能够帮我?感谢。

1 个答案:

答案 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>