Jsf 从母版页关闭后销毁primefaces对话框中的数据
在我的页面中,有一些命令按钮可以打开与表格的对话框。 表中有300行,关闭HTML对话框后不会销毁并持久保存在HTML页面中。 我想在隐藏后销毁对话框中的数据。单击命令按钮后,重复操作加载对话框并在对话框中加载数据。 我找到了这个方法Jsf 从母版页关闭后销毁primefaces对话框中的数据,jsf,primefaces,managed-bean,Jsf,Primefaces,Managed Bean,在我的页面中,有一些命令按钮可以打开与表格的对话框。 表中有300行,关闭HTML对话框后不会销毁并持久保存在HTML页面中。 我想在隐藏后销毁对话框中的数据。单击命令按钮后,重复操作加载对话框并在对话框中加载数据。 我找到了这个方法 但不知道如何从facescontext销毁对话框 我想这对你有帮助。 假设您有一个commandButton: <p:commandButton id="button" value="Button" actionListener="#{dialogBea
但不知道如何从facescontext销毁对话框 我想这对你有帮助。
假设您有一个commandButton:
<p:commandButton id="button" value="Button" actionListener="#{dialogBean.populateDataTable}" onComplete="yourDialog.show()" update="@form">
假设您有以下对话框
钮扣
如果不需要ajax请求,也可以在对话框的onHide
中调用PF('dlgVar').content.empty()
我的问题就在这里。如何填充dataTable(PopulatedDataTable中的命令)?@Jeus我已经更新了我的答案,请告诉我您是否清楚。只需在populateDataTable(ActionEvent事件)
方法中填充列表/模型(为
输入)。您的意思是希望在关闭对话框后通过从DOM树中删除元素来减轻DOM树的重量@Jeus@HatemAlimam是的,我想在manageBean dialogBean.handleClose,thnx中删除dialog(母版页中的HTML DOM)plz write方法中的表中的数据。如果您只需要清空,这将在没有任何服务器端方法的情况下完成。我已经更新了这个问题,在上一个代码中,您可以看到不需要ajax请求,只需在onHide上调用它,你没事@是的。隐藏页面的对话框内容之后?很好,tanks。除了使用RequestContext.getCurrentInstance().execute(“showDialog('dialogBox')”)
<p:dialog widgetVar="yourDialog" dynamic="true" >
<p:dataTable value="#{dialogBean.yourList}"..........> ... </p:dataTable>
</p:dialog>
public void populateDataTable(ActionEvent event) {
//Populate data here to be shown in `<p:dataTable>` inside `<p:dialog>`
//yourList = new ArrayList<yourObject>();
//allresult = fetchdataFromDB();
//yourList.addAll(allresult);
}