我需要树以这样的方式运行:当用户拖动叶子并尝试对其进行排序时,叶子只能在其父级内进行排序。任何人都可以帮助我...
例如:
fruits and vegetables(Root)
------\Fruits(Parent1)
---------\Orange (Leaf1.1)
---------\Apple (Leaf1.2)
---------\Dragon Fruit (Leaf1.3)
------\Veggie(Parent2)
---------\Potato (Leaf1)
---------\Beetroot (Leaf2)
---------\Yam (Leaf3)
只允许在水果或蔬菜之间订购。 Leaf's 1.1,1.2,1.3
只能在父1中排序。感谢。
答案 0 :(得分:0)
您必须仅通过代码。在拖拽的处理函数中,检查类型是蔬菜还是水果,父类型是否相同。如果两者不相同,则不执行任何操作并调用e.stopEvent()。
- 斯里达尔
答案 1 :(得分:0)
treeGrid.setCanReparentNodes(false)
答案 2 :(得分:0)
请使用treeviewdragdrop
代替gridviewdragdrop
,然后在听众身上做点什么:
nodedragover( targetNode, position, dragData, e, eOpts )
就像这样:
view.on('nodedragover', function(node, position, dragData){
var me = this, record = me.getRecord(node), srcNode = dragData.records[0];
return srcNode.parentNode == record;
});
我在我的项目中得到了它。