点击对话框中的datatable
后,我需要您帮助刷新commandButton
组件中的值。 jsf代码是:
<h:form id="Requests">
<h:panelGroup id="table">
<p:fieldset id="Pendings">
<p:dataTable id="PendingRequests">
</p:dataTable>
<p:dialog header="cert1">
<p:commandButton value="Print" id="Print" actionListener="#{msd.updatePrint}" />
</p:dialog>
</p:fieldset>
</h:panelGroup>
</h:form>
Print commandButton将触发一个SQL UPDATE语句,该语句将数据库中打印状态的计数增加1.因此,如果dataTable
中的打印状态列的值= 1,那么这将增加现在,我想让父页面中的dataTable
获取更改,并显示Printing Status = 2。
我尝试在updatePrint()
方法中添加以下行,但数据表中没有显示增量:
public void updatePrint() {
//SQL UPDATE STATEMENT
RequestContext context = RequestContext.getCurrentInstance();
context.update(":Requests:Pendings:PendingRequests");
}
我也尝试使用ajax,但我没有取得成功:
<p:dialog header="cert1">
<p:ajax event="close" update=":Requests:Pendings:PendingRequests" />
</p:dialog>