未更新,数据表PrimeFaces在对话框中过滤

时间:2014-08-15 16:05:54

标签: jsf primefaces

使用此按钮打开对话框

<p:commandButton value="Abrir fiscales" update=":tabs:formDlgFiscales"
                               rendered="#{gestionNecBean.flgOperacion ne 3 and loginBean.getOpcionFormularioAcceso('botonAgregarFiscal')}"
                               disabled="#{loginBean.getValOpcForm('botonAgregarFiscal')}"
                               icon="ui-icon-plus"
                               process="@this"
                               actionListener="#{gestionNecBean.inicializarFiscales()}" />

我的方法inicializarFiscales(),打开对话框。

public void inicializarFiscales() {
  //setLstFiscalesView(null);//elimino el objeto anterior
  setBtnBuscarFiscales(true);
  NecFiscalesViewLn necFiscalesViewLn;

  try {//lstFiscalesView
     setObjNecFiscalesView(new NecFiscalesView());
     setObjContactoPromocion(new ContactoPromocion());
     getObjContactoPromocion().setContactoPromocionPK(new ContactoPromocionPK());
     getObjContactoPromocion().getContactoPromocionPK().setTipContacto(Constantes.TIPO_CONTACTO_FISCAL);
     // setLstFiscalesView(null);no es este ya lo habia probado

     setObjContacto(new Contacto());
     txtDni = true;
     txtTelefonoFijo = true;
     txtNombres = true;
     txtTelefonoMovil = true;
     txtApellidoPaterno = true;
     txtCorreo = true;
     txtApellidoMaterno = true;
     rbActivo = true;
     txtUnidad = true;
     txtFecRetiro = true;
     txtCargo = true;
     txtFecAcredita = true;
     txtMunicipalidad = true;
     txtDireccion = true;
     necFiscalesViewLn = new NecFiscalesViewLn();
     // lstFiscalesView = necFiscalesViewLn.getViewNecFiscales(objNucleoCentral);
     //y con estto lleno el datatable
     // ok dejame verlo un toque

     this.setLstFiscalesView(necFiscalesViewLn.getViewNecFiscales(objNucleoCentral));

     RequestContext.getCurrentInstance().execute("dlgNecFiscales2.show()");
  } catch (Exception e) {

  } finally {
     necFiscalesViewLn = null;
  }

}

我的对话框是:

<p:dialog id="dlgNecFiscales" widgetVar="dlgNecFiscales2" modal="true" appendToBody="true"
            header="Datos del Fiscal a nivel distrital" closeOnEscape="true" resizable="false" width="800px">
     <p:ajax event="close" listener="#{gestionNecBean.restablecerListaFiscales()}"
             />
     <h:form id="formDlgFiscales" >

        <p:messages id="messages" showDetail="false" autoUpdate="false" closable="true" showSummary="true" severity="error"/>
        <p:outputPanel style="display: block;" id="pnlNucleoEjecutor">
           <div align="right">

              <p:commandButton value="Nuevo" type="button" icon="ui-icon-plus"
                               styleClass="ui-priority-primary">
                 <p:ajax event="click" listener="#{gestionNecBean.nuevoFiscal(1)}"
                         update=":tabs:formDlgFiscales"></p:ajax>
              </p:commandButton>

              <p:commandButton value="Limpiar" type="button" icon="ui-icon-refresh"
                               styleClass="ui-priority-primary">
                 <p:ajax event="click" listener="#{gestionNecBean.limpiarFiscal}"
                         update=":tabs:formDlgFiscales:txtDireccionF,txtDNIF,txtTelefonoFijoF,txtNombresF,txtTelefonoMovilF,txtApellidoPF,email,txtApellidoMF,soEstadoF,txtUnidadF,txtFecRetiro,txtCargoF,txtFechaAcreF,txtMuniF,txtDocAcreditaF,txtNumeroResolucF"></p:ajax>
              </p:commandButton>

           </div>

           <p:dataTable id="listaFiscales" var="varFiscales"
                        value="#{gestionNecBean.lstFiscalesView}"
                        rowKey="#{varFiscales.id}"
                        rows="5" paginator="true"
                        rowsPerPageTemplate="5,10,20"
                        paginatorPosition="bottom"
                        sortMode="multiple"
                        currentPageReportTemplate="Total de Registros: {totalRecords}"
                        paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} "
                        emptyMessage="#{myBundle.NoRecord}">
              <p:column headerText="Acciones" width="10%" style="text-align: center;">
                 <div style="white-space: nowrap">

                    <p:commandLink id="editar">
                       <p:graphicImage alt="Editar" width="10" value="resources/imagenes/edicion.png" />Editar
                       <p:ajax event="click" listener="#{gestionNecBean.editarFiscales(varFiscales, 2)}"
                               update=":tabs:formDlgFiscales"></p:ajax>
                    </p:commandLink>

                 </div>
              </p:column>

              <p:column headerText="DNI" width="10%"
                        filterBy="#{varFiscales.txtDocumento}"
                        filterMatchMode="contains"
                        sortBy="txtDocumento">
                 <h:outputText value="#{varFiscales.txtDocumento}"  />
              </p:column>
              <p:column headerText="Apellido Paterno" width="20%"
                        filterBy="#{varFiscales.txtApellidoPaterno}"
                        filterMatchMode="contains"
                        sortBy="txtDocumento">
                 <h:outputText value="#{varFiscales.txtApellidoPaterno}"  />
              </p:column>

              <p:column headerText="Apellido Materno" width="20%"
                        filterBy="#{varFiscales.txtApellidoMaterno}"
                        filterMatchMode="contains"
                        sortBy="txtDocumento">
                 <h:outputText value="#{varFiscales.txtApellidoMaterno}"  />
              </p:column>
              <p:column headerText="Nombres" width="20%"
                        filterBy="#{varFiscales.txtNombre}"
                        filterMatchMode="contains"
                        sortBy="txtDocumento">
                 <h:outputText value="#{varFiscales.txtNombre}"  />
              </p:column>
           </p:dataTable>

。 。 。

当我看着数据表我看起来很好。当我关闭并打开对话框时,值仍然存在。 我想要正常的值,普通的carge显示数据表。

打开对话框时不更新数据表,搜索卡住了

1 个答案:

答案 0 :(得分:0)

哪个组件是&#39;标签&#39;在您的更新p:ajax部分?我相信从:formname开始就足够了,试试吧 更新=&#34;:formDlgFiscales:listaFiscales&#34;或者只是更新=&#34;:formDlgFiscales&#34;应该更新里面的所有东西