2015-10-14 34 views

回答

0

我從來沒有做過,但我會嘗試這樣的:

<p:dataTable id="table1" ...> 
    <p:ajax event="contextMenu" update="myContextMenuId" listener="#{myContextMenuBL.initContextMenuForTable('table1')}" oncomplete="PF('myContextMenuWidgetVar').show(currentEvent);" /> 
</p:dataTable> 

<p:dataTable id="table2" ...> 
    <p:ajax event="contextMenu" update="myContextMenuId" listener="#{myContextMenuBL.initContextMenuForTable('table2')}" oncomplete="PF('myContextMenuWidgetVar').show(currentEvent);" /> 
</p:dataTable> 

<p:contextMenu id="myContextMenuId" widgetVar="myContextMenuWidgetVar"> 
    <p:menuitem value="entry 1" /> 
    ... 
</p:contextMenu> 

在上下文菜單控制器,你知道哪個表菜單中的「工作」與initContextMenuForTable()呼叫。如果你想爲每個表使用不同的上下文菜單,它會更加困難。但爲什麼不僅爲每個表使用單獨的上下文菜單?

+0

酷我會放棄這一點。我確實嘗試爲每個表使用單獨的上下文菜單,但只有最終的表格呈現將具有全功能的上下文菜單... – Dee

+0

我不明白你的意思「只有最終表格呈現將具有完全functiona上下文菜單」。我認爲使用'contextMenu'的'for'屬性指向表格的每個表格可以更簡單。 – opfau

+0

是的,這也是我的邏輯。但是,儘管將上下文菜單指向特定的表格,但只有最後一個表格具有上下文菜單,當選擇某個項目時,該菜單將呈現適當的頁面。也許與延遲加載有關? – Dee