請幫助我!!!
在我的網頁我有兩個部分:
PrimeFaces 4:管理同一棵樹節點上的select節點和contextMenu
- 的一部分「菜單」裏我用的TreeNode作爲首選。
- 第二部分「中央」,我在每次選擇一個節點時顯示一個頁面。
只是說,一切運行順利。
當我將treeNode與contextMenu關聯時,問題就開始了。每次我右鍵點擊一個節點來查看我的contextMenu,它會顯示我的中心頁面的加載時間。看起來像右鍵單擊並選擇一個新的混淆,誰接管是節點的選擇。
是否可以將這兩個事件分開?
是否有可能做其他事情,或有解決方法?
我發現的解決方法是在每個節點下放置一個commandLink。它沒有工作,特別是對於兒子節點。
THX的幫助
<h:form id="formMenuAdmin" >
<p:panel header="Domaines" id="panelDomaines" style="border: none;width: auto" >
<p:contextMenu for="treeMenuAdmin" id="contextMenuTreeNodeDomaine" nodeType="Domaine">
<p:menuitem id="menuitemAdd" value="Créer " icon="ui-icon-search" actionListener="#{domaineCtrl.afficherDialogOrg('dialogCreateDgdsVar')}">
</p:menuitem>
<p:menuitem id="menuitemEdit" value="Editer" icon="ui-icon-search">
</p:menuitem>
<p:menuitem id="menuitemUpdate" value="Modifier" icon="ui-icon-search">
</p:menuitem>
<p:menuitem id="menuitemDelete" value="Supprimer" icon="ui-icon-search">
</p:menuitem>
</p:contextMenu>
<p:contextMenu for="treeMenuAdmin" id="contextMenuTreeNodeSousDomaine" nodeType="Dss">
<p:menuitem id="menuitemAddDss" value="Créer"
icon="ui-icon-search"
actionListener="#{domaineCtrl.afficherDialogOrg('dialogCreateDss')}">
</p:menuitem>
<p:menuitem id="menuitemEditDss" value="Editer"
icon="ui-icon-search" actionListener="#">
</p:menuitem>
<p:menuitem id="menuitemUpdateDss" value="Modifier "
icon="ui-icon-search" actionListener="#">
</p:menuitem>
<p:menuitem id="menuitemDeleteDss" value="Supprimer"
icon="ui-icon-search" actionListener="#">
</p:menuitem>
</p:contextMenu>
<p:tree id="treeMenuAdmin" value="#{treeNodeCtrl.rootTreeNode}"
var="doc" selectionMode="single"
selection="#{treeNodeCtrl.selectedTreeNode}"
style="width: auto;border: none" cache="true" >
<p:ajax event="select" listener="#{treeNodeCtrl.onNodeSelect()}" />
<p:treeNode id="treeNodeDomaine" type="Domaine"
expandedIcon="ui-icon-folder-open"
collapsedIcon="ui-icon-folder-collapsed">
<h:outputText value="#{doc.nom}" id="outputTextDomaine#{doc}"/>
</p:treeNode>
<p:treeNode id="treeNodeDss" type="Dss" >
<h:outputText value="#{doc.nom}" id="outputTextDss" />
</p:treeNode>
</p:tree>
</p:panel>
</h:form>
你能告訴我們「中央」部分的contextMenu嗎? – rion18
@ rion18,我在中央頁面上沒有任何contextMenu。我想我很少解釋這個問題: 中央頁面只顯示選定節點的內容(在頁面菜單中選擇的節點)。 –
好吧,我明白了。當你右鍵點擊一個節點來調用contextMenu時,這個節點被選中,這是默認的PrimeFaces行爲。但是,在PF 5.0(來自PF 4.0.2)中,'SelectTreeNodeEvent'已升級幷包含'isContextMenu()'方法。你可以看到[這裏](https://code.google.com/p/primefaces/issues/detail?id=6243)。 切換到PF 5.0選項? – rion18