I am trying to implement custom filtering.
Following is my code.
xhtml
Code: Select all
<p:dataTable id="my-tasks-table" widgetVar="myTasksTable" var="myInfo"
editable="true"
value="#{fMHumanTaskGenericBean.getObjectList('my-tasks', true,'task')}"
filteredValue="#{fMHumanTaskGenericBean.filterValues}"
style="font-size: 9pt;" lazy="true"
selection="#{fMHumanTaskGenericBean.selectedRows}"
rowKey="#{myInfo.task_id}" paginator="true" rows="50"
paginatorPosition="top" scrollable="true" scrollHeight="395"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} "
currentPageReportTemplate="Total Records : {totalRecords}">
<p:column id="process" rendered="#{_selected.contains('process')}"
width="221" headerText="#{bundle.process}"
sortBy="#{myInfo.process_name}" filterBy="#{myInfo.process_name}"
filterMatchMode="exact" style="text-align: center">
<f:facet name="filter">
<p:selectOneMenu onchange="PF('myTasksTable').filter()">
<f:selectItems
value="#{fMHumanTaskGenericBean.getFilterProcessesNamesList('my-tasks', 'task')}" />
</p:selectOneMenu>
</f:facet>
<h:outputLink style="text-decoration: none !important" id="sd_"
rel="#{myInfo.fm_process_instance_id}" class="statusDetail"
value="#">
<h:outputText value="#{myInfo.process_name}" />
</h:outputLink>
</p:column>
</p:dataTable>
Code: Select all
@Override
public List<Map<String, Object>> load(int firstRow, int lastRow, String sortField, SortOrder sortOrder, Map filters) {
try {
this.dataHelper.setFirstRow(firstRow);
this.dataHelper.setLastRow(lastRow);
this.dataHelper.setSortField(sortField);
this.dataHelper.setSortOrder(sortOrder.name());
this.dataHelper.setFilters(filters);
data = Util.convertGroovyDataToMap(dataHelper.fetchData());
setRowCount(dataHelper.fetchFilteredCount());
} catch (Exception ex) {
logger.error("Error! LazyMapDataModel.load() - " + ex.getMessage(), ex);
}
return data;
}
Also primefaces demo does not have an example with custom filters AND lazy loading. lazy loading eg is with normal filters
Any help is appreciated.
Thanks !
Vidya Ambadipudi