Мне нужно обновить некоторые поля ввода внутри panelGrid, которые находятся внутри формы ah:, но триггер должен быть выброшен за пределами этой формы.PanelGrid - даже то же самое, но формы - динамика.Я не могу использовать фиксированный идентификатор.
Кто-нибудь может мне помочь?
это пример динамической формы
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
xmlns:componente="http://java.sun.com/jsf/composite/componente" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"
template="/WEB-INF/template/principal.xhtml">
<div id="global">
<ui:define name="content">
<h:form id="formDinamic">
<ui:include src="/pages/templates/adicionaisUsuario.xhtml" />
<p:remoteCommand name="updateCep" process="@form:fixedPanel" />
</h:form>
<ui:include src="/pages/dialogSearchCepPorEndereco.xhtml">
<ui:param name="modo" value="E" />
</ui:include>
</ui:define>
</div>
</ui:composition>
на странице adicionaisUsuario.xhtml
<p:panelGrid id="fixedPanel" column="4">
<p:inputText id="input1" value="#{crudMb.object1.value1}" />
<p:inputText id="input2" value="#{crudMb.object1.value2}" />
<p:inputText id="input3" value="#{crudMb.object1.value3}" />
<p:commandButton actionListener="#{enderecoMb.doPrepare}" oncomplete="PF('dlgPesqCep').show();"
process="@this :dialogPesquisaCep" update="fixedPanel">
<f:setPropertyActionListener target="#{enderecoMb.object1}" value="#{crudMb.object1}" />
<f:setPropertyActionListener target="#{enderecoMb.tipoEndereco}" value="Residencial" />
</p:commandButton>
</p:panelGrid>
мой диалог
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui">
<p:dialog id="dialogPesquisaCep" position="center" modal="true" widgetVar="dlgPesqCep" resizable="false" width="670"
height="500" header="#{enderecoMb.titulo}" onShow="rc();">
<h:form id="formPesquisaCep">
<p:remoteCommand name="rc" resetValues="true" update="dtlistCeps pBuscaCep" />
<p:messages closable="true" id="msgCep" redisplay="false" />
<p:panelGrid id="pBuscaCep" >
<p:row>
inputs for search...
</p:row>
<p:row>
<p:column>
<p:commandButton value="" id="btnPesquisaCep" actionListener="#{enderecoMb.doEventListEnderecos()}"
styleClass="btn_pesquisar" style="margin-left: 9px;" update="msgCep dtlistCeps">
<f:setPropertyActionListener value="#{modo}" target="#{enderecoMb.modo}" />
</p:commandButton>
</p:column>
</p:row>
</p:panelGrid>
</fieldset>
<p:dataTable id="dtlistCeps" var="end" value="#{enderecoMb.enderecos}" emptyMessage="#{m['nenhum.registro']}"
rowIndexVar="index"
rowKey="#{end.cep}" selectionMode="single">
<p:ajax event="rowSelect" listener="#{enderecoMb.onRowSelectEndereco}" oncomplete="PF('dlgPesqCep').hide();"
update="@(:table[name*='fixedPanel'])">
<f:setPropertyActionListener target="#{enderecoMb.enderecoPesquisado}" value="#{end}" />
</p:ajax>
<p:columns... />
</p:dataTable>
</h:form>
</p:dialog>
</ui:composition>
Я показываю диалоговое окно, нажав на p: commandButton на странице adicionaisUsuario.xhtml , поиск ивыберите одну из строк (с помощью метода onRowSelectEndereco), скройте dialogPesquisaCep и необходимо обновить поля ввода в p: panelGrid fixedPanel
Спасибо за помощь