如何在 Primefaces 惰性数据表上获取过滤值?
How to get filtered value on Primefaces lazy datatable?
我在 primefaces 数据表上使用 lazy="true"
因为我的数据很大。但是这次我没有得到过滤后的列表。我猜,问题是 dataTable 的值是 org.primefaces.model.LazyDataModel
而 filteredValue 是 java.util.List
。那么,我怎样才能在我的数据表上获得 filteredValue 呢?有什么建议吗?
我的数据表声明:
<p:dataTable id="tblIzin"
var="izin"
value="#{izinBean.lazyModelIzin}"
lazy="true"
paginator="true"
rows="10"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
scrollable="true"
scrollWidth="79%"
scrollHeight="37%"
editable="true"
editMode="cell"
filteredValue="#{izinBean.filteredList}"
emptyMessage="Kayıt bulunamadı." >
提前致谢。
您可以在 bean 中获取 table,如下所示:
DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
.findComponent("myFormId:tblIzin");
然后,获取过滤器图
dataTable.getFilters(); //return a Map
您必须覆盖 primefaces 惰性数据表
public class YourDataModel extends LazyDataModel<Car> {
@Override
public List<Car> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters) {
//Here you will get your filters
}
}
如果您进行惰性过滤,则必须根据给定的过滤器自行过滤值。
因此您的值存储在 izinBean 中。您可以使用 Getter 方法访问它们
izinBean.getFilteredList()
通常你会执行一个服务方法,它根据给定的过滤器在后端过滤你的值,然后 return filteredValues。
我在 primefaces 数据表上使用 lazy="true"
因为我的数据很大。但是这次我没有得到过滤后的列表。我猜,问题是 dataTable 的值是 org.primefaces.model.LazyDataModel
而 filteredValue 是 java.util.List
。那么,我怎样才能在我的数据表上获得 filteredValue 呢?有什么建议吗?
我的数据表声明:
<p:dataTable id="tblIzin"
var="izin"
value="#{izinBean.lazyModelIzin}"
lazy="true"
paginator="true"
rows="10"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
scrollable="true"
scrollWidth="79%"
scrollHeight="37%"
editable="true"
editMode="cell"
filteredValue="#{izinBean.filteredList}"
emptyMessage="Kayıt bulunamadı." >
提前致谢。
您可以在 bean 中获取 table,如下所示:
DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
.findComponent("myFormId:tblIzin");
然后,获取过滤器图
dataTable.getFilters(); //return a Map
您必须覆盖 primefaces 惰性数据表
public class YourDataModel extends LazyDataModel<Car> {
@Override
public List<Car> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters) {
//Here you will get your filters
}
}
如果您进行惰性过滤,则必须根据给定的过滤器自行过滤值。
因此您的值存储在 izinBean 中。您可以使用 Getter 方法访问它们
izinBean.getFilteredList()
通常你会执行一个服务方法,它根据给定的过滤器在后端过滤你的值,然后 return filteredValues。