primefaces从一棵树拖动并下降到另一棵树

时间:2014-10-07 12:30:03

标签: primefaces tree drag

我有两棵树,一棵是可拖动的,另一只是可放置的:

<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。 对此有什么解决方案吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我也有这个用例。我所做的工作是将draggabledroppable标记放在源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>