kendo-ui - Kendo Treeview 拖放总是父级的最后位置

标签 kendo-ui kendo-treeview

我在 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/

相关文章:

javascript - 如何使用 mvvm 在日历中设置多个日期?

angular - 如何添加双击事件并在 Angular KendoUI 中传递选定的行数据

javascript - 剑道网格 : Change columns order (event binding)

javascript - 选中父节点时,如何在 Kendo TreeView 中触发子节点的 onCheck 事件

kendo-ui - kendo ui tree - 如何仅显示部分节点

php - 使用 Memcache 缓存 MySQL 结果并排序/过滤缓存结果

jquery - 将剑道图表转换为 pdf 时,它会在 pdf 图表上绘制线条

asp.net-mvc - Kendo Treeview 扩展器不来了

javascript - Kendo Treeview : Can you edit a single dataitem without full tree update?

spring - Kendo Spring 演示项目缺少数据库