I have the next code that work perfectly:
<p:inputText id="nombreProvedor_dinissan2" readonly="true" />
<p:overlayPanel for="nombreProvedor_dinissan2" style="width: 500px" widgetVar="proveedoresPnl_dinissan2" id="pnl" dynamic="true" >
<p:dataTable value="#{proveedoresMB.proveedores}"
var="proveedor"
emptyMessage="No hay proveedores disponibles"
paginator="true" rows="10"
rowsPerPageTemplate="5,10,15"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
selectionMode="single"
lazy="true"
rowKey="#{proveedor.iNit}" >
<p:ajax event="rowSelect" oncomplete="PF('proveedoresPnl_dinissan2').hide()" listener="#{proveedoresMB.seleccionarProveedor}" />
<p:column headerText="Nit" filterBy="#{proveedor.iNit}" filterMatchMode="contains" >
<p:outputLabel value="#{proveedor.iNit}" />
</p:column>
<p:column headerText="Nombre/Razón Social" filterBy="#{proveedor.sProveedor}" filterMatchMode="contains" >
<p:outputLabel value="#{proveedor.sProveedor}" />
</p:column>
</p:dataTable>
</p:overlayPanel>
But i need the same insede dialog:
<p:dialog header="Crear Servicio Público"
widgetVar="crearServicioPublicoWV"
id="crearServicioPublicoDlg"
modal="true">
<p:inputText id="nombreProvedor_dinissan3" readonly="true" />
<p:overlayPanel for="nombreProvedor_dinissan3" style="width: 500px" widgetVar="proveedoresPnl_dinissan3" dynamic="true" >
<p:dataTable value="#{proveedoresMB.proveedores}"
var="proveedor"
emptyMessage="No hay proveedores disponibles"
paginator="true" rows="10"
rowsPerPageTemplate="5,10,15"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
selectionMode="single"
lazy="true"
rowKey="#{proveedor.iNit}" >
<p:ajax event="rowSelect" oncomplete="PF('proveedoresPnl_dinissan3').hide()" listener="#{proveedoresMB.seleccionarProveedor}" />
<p:column headerText="Nit" filterBy="#{proveedor.iNit}" filterMatchMode="contains" >
<p:outputLabel value="#{proveedor.iNit}" />
</p:column>
<p:column headerText="Nombre/Razón Social" filterBy="#{proveedor.sProveedor}" filterMatchMode="contains" >
<p:outputLabel value="#{proveedor.sProveedor}" />
</p:column>
</p:dataTable>
</p:overlayPanel>
</p:dialog>
It's the same code, the diferent is that is inside the dialog. Now, the filter not work in dialog. When I filter the table, the filter map always is empty!
@Override
public List<ProveedorVO> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters) {
System.out.println("Filtros: " + filters);
for (String key : filters.keySet()) {
System.out.println( key + ":" + filters.get(key));
}
}
Any idea? Thanks!
I'm using PrimeFaces 5.2, JSF 2.1 runing on JBoss EAP 6.1