2015-11-18 89 views

回答

0

試試這個:

XHTML:

<p:commandButton actionListener="#{backing.popupDlg(row.id)}" immediate="true" value="Dialog"> 
    <p:ajax event="dialogReturn" update="@form" listener="#{backing.refreshPage}" /> 
</p:commandButton> 

基材:

public void popupDlg(Integer id) { 
    //USER CODE 
    // DO something with ID 

    Map<String, Object> options = new HashMap<String, Object>(); 
    options.put("modal", true); 
    options.put("closable", false); 
    options.put("draggable", true); 
    options.put("resizable", true); 
    options.put("contentHeight", 620); 

    RequestContext.getCurrentInstance().openDialog("DlgPage", options, null); 
} 

,而它在對話框

打開 DlgPage.xhtml這也辦理母版頁對話框返回更新用/插入/缺失
+0

你的意思是我們會通過actionLis調用backing bean的editDesignationDlg(Integer dsgnId)特納= 「#{backing.popupDlg(row.id)}」。 popupDlg(row.id)只是一個錯字,而應該是editDesignationDlg或它的不同。 – Harleen

+0

編輯問題,對於我來說,我在p:datatable中使用了這個,所以我將行標識傳遞給了後備方法。如果你有標準的彈出窗口,你不需要任何ID。你可以使用它的基本思想。因爲它非常清晰 – Sarz

+0

我的要求是在按鈕提交時打開一個新的選項卡/窗口,而不是在同一頁面上的對話框/彈出窗口。我無法從你分享的內容中獲得邏輯。 – Harleen

相關問題