트리에 contextMenu를 추가하여 사용자 지정 작업을 수행하려고합니다. 이 트리는 오버레이 패널 안에 구현됩니다. 내가 관찰 한 것은 contextMenu가 트리의 일부 요소를 선택하거나 선택 취소 한 후 임의의 상황에서만 표시된다는 것입니다. 어떤 아이디어?Primefaces : ContextMenu가 overlayPanel에 표시되지 않습니다.
<p:overlayPanel id="advancedSearchPanel"
styleClass="ui-advanced-search-overlay"
for="advancedSearch"
hideEffect="fade"
my="right top"
widgetVar="advancedSearchPanelWidgetVar" >
<ui:include src="/search/advancedSearch-form.xhtml"/>
</p:overlayPanel>
에서 AdvancedSearch 형태
<p:panelGrid id="panelAdvanced" styleClass="borderless">
...
<p:row>
<p:column colspan="4">
<p:outputLabel value="#{text['searchForm.classifiers']}" for="treeClassifier" styleClass="paddingLabelGrid"/>
<p:contextMenu id="contextSearch" for="treeClassifier">
<p:menuitem value="Escolha todos" update=":searchForm:treeClassifier" actionListener="#{navBarController.displaySelectedSingle}"/>
</p:contextMenu>
<p:tree id="treeClassifier"
value="#{navBarController.rootClassifier}"
var="node" selectionMode="checkbox"
selection="#{navBarController.selectedClassifiers}"
style="height: 200px;width: 540px; margin-bottom: 0px; overflow: auto"
propagateSelectionDown="false"
propagateSelectionUp="false">
<p:ajax event="select" update=":searchForm:btnSearch"/>
<p:ajax event="unselect" update=":searchForm:btnSearch"/>
<p:treeNode expandedIcon="ui-icon-folder-open" collapsedIcon="ui-icon-folder-collapsed">
<h:outputText value="#{node.description}(#{node.code})"/>
</p:treeNode>
</p:tree>
</p:column>
</p:row>
...
많은 정보를 설명해주십시오. contextMenu가 선택 될 때마다 트리를 변경 하시겠습니까? – wittakarn
코드가 작동하는 이유는 무엇입니까? – 0x5a4d
아니요, 귀하의 코드를 시도하지만 onContextMenu 함수에 절대로 도달하지 못했습니다. – tech4