我正在尝试为我的表PrimeFaces添加一个过滤器,但不能用于所有可能的修改。我遵循了StackOverflow的所有建议,仍然无法正常工作。我的tomcat或Javascript / jQuery上没有异常或错误。我正在使用Primefaces javax.faces 5.1和2.2.9。我请保留我的部分代码以帮助我。此致:
<div class="contenido_datatable">
<h:form id="dtClientes" style="vertical-align: middle !important;">
<p:dataTable
id="clientesDT"
var="cliente"
rows="11"
value="#{dtFrmClientes.clientesLazy}"
paginator="true"
selectionMode="single"
sortBy="#{cliente.cif}"
lazy="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks}{NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
currentPageReportTemplate="Total: {totalRecords}. Página {currentPage} de {totalPages}"
selection="#{dtFrmClientes.clienteSeleccionado}"
rowKey="#{cliente.id_cliente}"
emptyMessage="No existen registros"
widgetVar="clienteFilt">
<p:ajax event="filter"></p:ajax>
<p:ajax event="rowSelect" listener="#{dtFrmClientes.onRowSelect}" update=":formularioClientes" />
<p:ajax event="rowUnselect" listener="#{dtFrmClientes.onRowUnselect}" update=":formularioClientes" />
<f:facet name="header">
<p:inputText
styleClass="cuadroBusq"
id="globalFilter"
maxlength="10"
onkeyup="PF('clienteFilt').filter()"
placeholder="Buscar..">
</p:inputText>
</f:facet>
<f:facet name="filter" onkeyup="PF('clienteFilt').filter()" update=":dtClientes:clientesDT"></f:facet>
<p:column headerText="CIF" id="cif" widht="100px;" sortBy="#{cliente.cif}" filterMatchMode="contains" filterBy="#{cliente.cif}" filterStyle="display:none; visibility:hidden;">
<h:outputText value="#{cliente.cif}" />
</p:column>
<p:column headerText="Nombre/Razón Social" sortBy="#{cliente.nombre}" filterMatchMode="contains" width="165px;" filterBy="#{cliente.nombre}" filterStyle="display:none; visibility:hidden;">
<h:outputText value="#{cliente.nombre}" />
</p:column>
<p:column headerText="Teléfono" sortBy="#{cliente.telefono}" filterMatchMode="contains" filterBy="#{cliente.telefono}" filterStyle="display:none; visibility:hidden;">
<h:outputText value="#{cliente.telefono}" />
</p:column>
<p:column headerText="Fecha Alta" sortBy="#{cliente.fecha_alta}" filterMatchMode="contains" style="text-align: center;" filterBy="#{cliente.fecha_alta}" filterStyle="display:none; visibility:hidden;">
<h:outputText value="#{cliente.fecha_alta2}"/>
</p:column>
<p:column headerText="Fecha Baja" sortBy="#{cliente.fecha_baja}" filterMatchMode="contains" style="text-align:center;" filterBy="#{cliente.fecha_baja}" filterStyle="display:none; visibility:hidden;">
<h:outputText value="#{cliente.fecha_baja2}"/>
</p:column>
<p:column styleClass="columnaOpciones">
<p:commandLink
rendered="#{cliente.id_cliente != 0}"
styleClass="ui-icon ui-icon-trash imagenBorrarLista"
update=":formConfirm:cCliente"
oncomplete="PF('cCliente').show();"
ajax="true"
immediate="true"
action="#{dtFrmClientes.onRowSelect2}">
<f:setPropertyActionListener value="#{cliente.id_cliente}" target="#{dtFrmClientes.id_cliente}" />
<f:setPropertyActionListener value="#{cliente.nombre}" target="#{dtFrmClientes.ds_cliente}" />
</p:commandLink>
</p:column>
</p:dataTable>
</h:form>
</div>