Следующий код реализует DataTable внутри макета, в DataTable я добавил кнопку редактирования в каждой строкепараметр Pass от DataTable к ар: диалоговое
<p:dataTable id="tbl" var="person" value="#{mybean.listPersons}" >
<p:column>
<f:facet name="header">
<h:outputText value="Name " />
</f:facet>
<h:outputText value="#{person.name}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Age :" />
</f:facet>
<h:outputText value="#{person.age}" />
</p:column>
<p:column>
<p:commandButton icon="ui-icon-pencil"
oncomplete="PF('dlg1').show();" action="mybean.setSelectedPerson(person)" />
</p:column>
</p:dataTable>
Когда я нажимаю на кнопку редактирования, диалоговое (код ниже), но входы пустые, я хотел бы показать информацию о строке в диалоговом луке, я все еще новичок, я искал везде ... но никаких результатов
<p:dialog header="Modify" widgetVar="dlg1" >
<h:form >
<p:growl id="msgs" showDetail="true" />
<h:panelGrid id="form2" value="#{myBean.person}" var="person">
<p:outputLabel value="Name :" />
<p:inputText value="#{person.name}" />
<p:outputLabel value="Age :" />
<p:inputText value="#{person.age}" />
<p:commandButton value="Submit" action="#{myBean.modifyPerson(person)}" />
</h:panelGrid>
</h:form>
</p:dialog>
@ManagedBean
@RequestScoped
public class muBean implements Serializable{
private Person selectedPerson;
//getter and setter
public void modifyPerson(Person p) {
this.selectedPerson = p;
}
}
Я был бы так благодарен, если кто-нибудь может помочь, мне это действительно нужно
Пытаться дать форму внутри диалогового окна id и поместите кнопку update = ": idOfForm" на кнопку. А также смените bean-компонент на ViewScoped, RequestScoped - это редкость –