我试图显示一个表单来修改我的表格中的一行当我点击一个图标但是当我点击时没有发生任何事情,我正在使用primefaces 3.4并且我在我的bean中没有问题,请帮助
<h:form>
<h1><h:outputText value="List Des Agents De Ministère"/></h1>
<p:dataTable value="#{agentBean.agentministeres }" id="agentList"
paginator="true" rows="10" var="item">
<p:column>
<f:facet name="header">
<h:outputText value="Action"/>
</f:facet>
<!--the problem in this commmandbutton i don't know if display or oncomplete dosn't word -->
<p:commandButton id="selectButton"
oncomplete="PF('dialog').show()"
update="display"
icon="ui-icon-search"
title="View"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="PrenomAgent"/>
</f:facet>
<h:outputText value="#{item.prenomAgent}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="TelAgent"/>
</f:facet>
<h:outputText value="#{item.telAgent}"/>
</p:column>
</p:dataTable>
</h:form>
这是表格:
<h:form id="display">
<p:dialog header="Details" widgetVar="dialog" resizable="false" id="display"
showEffect="fade" hideEffect="explode" modal="true">
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputLabel value="NomAgent:" for="nomAgent" />
<h:inputText id="nomAgent" value="#{agentBean.agentministere.nomAgent}" title="NomAgent" />
<h:outputLabel value="PrenomAgent:" for="prenomAgent" />
<h:inputText id="prenomAgent" value="#{agentBean.agentministere.prenomAgent}" title="PrenomAgent" />
<h:outputLabel value="TelAgent:" for="telAgent" />
<h:inputText id="telAgent" value="#{agentBean.agentministere.telAgent}" title="TelAgent" />
<p:commandButton value="Valider" image="ui-icon-disk" action="#{agentBean.enregistrerAgent}" />
</h:panelGrid>
</p:dialog>
</h:form>
答案 0 :(得分:1)
以下几点可以帮助您修复代码。
update="display"
无效,因为命名容器中没有显示。如果应更新表单<h:form id="display">
,请使用update=":display"
尝试将表单放在对话框中,这将解决您可能遇到的一些问题,而如果您通过ajax更新表单,则会隐藏对话框。
<p:dialog widgetVar="dialog">
<h:form id="details">
<!-- input and commandbutton, now form can easily updated on submit -->
</form>
</p:dialog>
您必须将所选行提交给bean以在详细信息对话框中显示更新:
<p:commandButton id="selectButton" icon="ui-icon-search"
update="display"
oncomplete="dialog.show();">
<f:setPropertyActionListener target="#{agentBean.agentministere} value="#{item}"/>
</p:commandButton>