Olá desenvolvedores, mais uma vez enchendo vocês por aqui… mas não me levem a mal ando estudando bastante JSF e Primefaces.
O problema agora é quanto aos filtros aplicados em um dataTable. Estou utilizando os atributos FilterBy
e filterMatchMode
porém em uma das colunas onde coloquei o filtro se refere a um código e este código tem padrão 9-999-A
, ou seja, quatro números e uma letra (maiúscula) separado por um traço. Gostaria de definir este padrão do filtro para evitar do usuário ficar digitando os traços e segurando shift(ou ativar o capsLock) para inserir a letra.
Poderiam me ajudar ?
Segue o modelo que estou utilizando em minha página:
<p:dataTable id="actorsTable" var="inspecao"
value="#{lancamentoPlanilhaInspecao.listaInspecoes}" selectionMode="single"
rowKey="#{inspecao.id}" paginator="true" rows="10" sortBy="#{inspecao.id}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20,30" >
<f:facet name="header">
<h3>Lista de Inspeções</h3>
</f:facet>
<p:column headerText="Código" sortBy="#{inspecao.numInspecao}" filterBy="#{inspecao.numInspecao}"
style="width: 2%; text-align: center;">
<h:outputText value="#{inspecao.numInspecao}"/>
</p:column>
<p:column headerText="Propriedade" sortBy="#{inspecao.talhaoInspecionado.propriedade.nome}"
filterBy="#{inspecao.talhaoInspecionado.propriedade.nome}" filterMatchMode="contains" style="width: 4%;">
<h:outputText value="#{inspecao.talhaoInspecionado.propriedade.nome}"/>
</p:column>
<p:column headerText="Talhao" sortBy="#{inspecao.talhaoInspecionado.cod_talhao}"
filterBy="#{inspecao.talhaoInspecionado.cod_talhao}" style="width: 2%;">
<h:outputText value="#{inspecao.talhaoInspecionado.cod_talhao}"/>
</p:column>
.........
</p:dataTable>
Agradeço desde já!