使用此按钮打开对话框
<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显示数据表。
打开对话框时不更新数据表,搜索卡住了
答案 0 :(得分:0)
哪个组件是&#39;标签&#39;在您的更新p:ajax部分?我相信从:formname开始就足够了,试试吧 更新=&#34;:formDlgFiscales:listaFiscales&#34;或者只是更新=&#34;:formDlgFiscales&#34;应该更新里面的所有东西