我有两棵树,一棵是可拖动的,另一只是可放置的:
<p:tree value="#{myBean.selectedClassifiedOperation.root1}"
var="node" selectionMode="single" id="tree1"
selection="#{myBean.selectedLeftNode}" draggable="true"
dragdropScope="demo">
<p:ajax event="dragdrop" listener="#{myBean.onDrop}"
update=":#{p:component('messages')}" />
<p:ajax event="select" listener="#{myBean.onNodeLeftSelect}"
update=":#{p:component('inputs')},:#{p:component('outputs')}" />
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
<p:tree value="#{myBean.selectedClassifiedOperation.root2}"
var="node" selectionMode="single" id="tree2"
selection="#{myBean.selectedRightNode}" droppable="true"
dragdropScope="demo" >
<p:ajax event="dragdrop" listener="#{myBean.onDrop}"
update=":#{p:component('messages')}" />
<p:ajax event="select" listener="#{myBean.onNodeRightSelect}"
update=":#{p:component('inputs')},:#{p:component('outputs')}" />
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
问题是听众不会开火。只有当两棵树都可以拖拽并且可以投放时它才会开火。但这不是我的情况。 我使用primefaces 5.1。 对此有什么解决方案吗?
非常感谢!
答案 0 :(得分:0)
我也有这个用例。我所做的工作是将draggable
和droppable
标记放在源p:树中,并将droppable
标记放在目标树中。在你的情况下:
<p:tree value="#{myBean.selectedClassifiedOperation.root1}"
var="node" selectionMode="single" id="tree1"
selection="#{myBean.selectedLeftNode}" draggable="true" droppable="true" ... </p:tree>
<p:tree value="#{myBean.selectedClassifiedOperation.root2}"
var="node" selectionMode="single" id="tree2"
selection="#{myBean.selectedRightNode}" droppable="true" ... </p:tree>