Fala galera;
Tenho em uma tela um DataTable na qual, em algumas colunas, são apresentados valores do tipo Data.
Veja o código:
<p:dataTable id="grid" var="item" value="#{tipologiaMBean.todos}"
lazy="true" paginator="true" rows="20" rowsPerPageTemplate="5,10,20,50,100"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
selection="#{tipologiaMBean.selecionados}" selectionMode="multiple"
emptyMessage="#{gbl.nenhumRegistro}" styleClass="gridFieldSet">
<p:ajax event="rowSelect" update="btExcluir:button,mensagens"/>
<p:ajax event="rowUnselect" update="btExcluir:button,mensagens"/>
<p:column style="text-align:center; width:20px;">
<p:commandButton title="#{gbl.editar}" action="#{tipologiaMBean.editar(item)}"
process="@this" update="dadosPanel" oncomplete="$('#txCodigo').focus().select();"
image="ui-icon-pencil" style="height:18px; width:18px;"/>
</p:column>
<p:column filterBy="#{item.codigo}" sortBy="#{item.codigo}" styleClass="textCol" style="width:200px;">
<f:facet name="header"><h:outputText value="#{pg.codigo}"/></f:facet>
<h:outputText value="#{item.codigo}"/>
</p:column>
<p:column filterBy="#{item.descricao}" sortBy="#{item.descricao}" styleClass="textCol">
<f:facet name="header"><h:outputText value="#{pg.descricao}"/></f:facet>
<h:outputText value="#{item.descricao}"/>
</p:column>
<p:column filterBy="#{item.dataInicio}" sortBy="#{item.dataInicio}" styleClass="textCol">
<f:facet name="header"><h:outputText value="#{pg.dataInicio}" title="xx/xx/xxxx"/></f:facet>
<h:outputText value="#{item.dataInicio}">
<f:convertDateTime locale="pt_BR" timeZone="America/Sao_Paulo"/>
</h:outputText>
</p:column>
</p:dataTable>
O filtro funciona corretamente, mas, o usuário sempre tem que digitar a data com os ‘/’ para que seja feita a conversão de String para Date, senão o filtro não funciona.
Sendo assim, gostaria de saber se existe uma forma de colocar uma máscara no campo de filtro para facilitar a vida do usuário?
Já procurei muito na web mas não achei uma forma de fazer isso.
Se alguém puder me dar uma dica ficarei muito agradecida…
Obrigada!