我在 Kendo Treeview 中遇到了问题。我有一棵带有“文件夹”的树。我启用了拖放功能,但是每当我将一个文件夹拖放到另一个文件夹中时,它都会被定位为该文件夹的最后一个项目。
我的数据源是 kendo.data.HierarchicalDataSource 类型,传入的数据按字母顺序按“标题”/文本排序。我希望删除的节点也按字母顺序排序,因此以某种方式我想触发对另一个节点删除的节点的调用。
我将如何实现这一目标?
我已经尝试在 kendo.data.HierarchicalDataSource 对象中定义排序参数,但这并没有太大变化。
最佳答案
在幕后,HierarchicalDataSource 是一个 DataSource,它具有一组也是 DataSource 的子项(项)。通常,这些项目只是被当作一个普通字段对待,并且对主 DataSource 的操作不会在子项上递归完成。
排序就是一个例子。正如您在 https://docs.telerik.com/kendo-ui/controls/navigation/treeview/how-to/binding/sort-child-nodes 上看到的,您需要自己递归地对子项进行排序:
function setSort(items){
for(var i=0; i < items.length; i++){
if(items[i].hasChildren){
items[i].children.sort({field: "FullName", dir: "desc"});
setSort(items[i].children.view());
}
}
}
关于kendo-ui - Kendo Treeview 拖放总是父级的最后位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60056943/