我在数据表中使用延迟加载、分页和全局过滤器
在延迟加载函数中,我添加了 2 个函数以支持 2 个场景:
1)当用户在寻呼时
2)当用户在全局过滤器中添加一个值并按“Enter”
基本上我需要知道的是为了决定使用什么功能而执行了哪些活动。
数据表:
<p:dataTable id="osTable"
var="object"
value="#{bean.lazyModel}"
selection="#{bean.selectedObjectSet}"
selectionMode="single"
rowKey="#{object.ID}"
paginator="true"
paginatorPosition="bottom"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="5,10,15"
rows="10"
widgetVar="objectTable">
<f:facet name="header">
<p:outputPanel style="float: right">
<h:outputText value="Search all fields:" />
<p:inputText id="globalFilter"
onkeypress="if (event.keyCode == 13) {objectSetTable.filter()}"
style="width:150px"/>
</p:outputPanel>
</f:facet>
加载功能:
@Override
public List<CfgSe2deMapping> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) {
List<Mapping> data = new ArrayList<Mapping>();
if (// if user press enter ) {
data.addAll(MappingHelper.getViaFilter(filters.get("globalFilter")));
} else {
data.addAll(MappingHelper.getViaOffSet(first + 1, first + pageSize));
}
我正在使用 primefaces 3.2
谢谢