<p:dataTable id="id" value="#{bean.soemList}" var="account">
<p:commandLink value="#{account.id}" action="#{bean.methodCall}"
update="dialogID" oncomplete="dlg1.show();">
</p:commandLink>
Run Code Online (Sandbox Code Playgroud)
...
<p:dialog header="#{i18n.details}" widgetVar="dlg1" modal="true" height="200" width="600">
<h:panelGroup id="dialogID" layout="block">
<h:outputLabel value="#{bean.var1}"></h:outputLabel>
</h:panelGroup>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
p:dialog链接在外面时会更新p:dataTable,但是当链接放入时p:dataTable,p:dialog不会显示更新的值.我需要保持链接p:dataTable.要更新的组件不在dataTable中.
如果该对话框的元素位于其自己的元素内,我只能将<p:commandLink>dataTable 内的元素获取到对话框的组件。update<h:form>
例子:
<p:dialog appendToBody="true" ...>
<h:form id="dialogForm" ...>
...
</h:form>
</p:dialog>
<p:dataTable ...>
<h:form id="dataTableForm" ...>
...
</h:form>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
另请注意,我向对话框添加了属性appendToBody="true". 这对于 AJAX 更新后通过 id 定位对话框非常重要。
| 归档时间: |
|
| 查看次数: |
8110 次 |
| 最近记录: |