【问题标题】:How can I restricting grouping and draging inside a Kendo UI treeView如何在 Kendo UI treeView 中限制分组和拖动
【发布时间】:2015-06-26 12:20:33
【问题描述】:

我有一个像这样的 KendoUI TreeView:

目前可以通过拖放切换第一级元素(组,rect-1..,行,文本) 不能对元素进行分组,将元素从组内拖到组外。 应该只能在组内切换元素并在第一级切换元素。

我该怎么做?

【问题讨论】:

  • 向我们展示您生成树视图的代码。

标签: javascript html angularjs kendo-ui


【解决方案1】:

我试图回答,我希望它符合您想要的确切行为

应该不能对元素进行分组,从内部拖动元素 群外群

  • 由此我猜你希望元素/节点不能改变它 级别(第一个 if 条件)

应该只能在组内切换元素

  • 由此我猜你只想要在第二个元素内 每个第一个元素,不能切换父级(第一个 if 条件)

  • 我的(第二个 if 条件)不允许您通过以下方式创建第三个元素 将第二个元素拖到另一个第二个元素上

  • 我的(第三个 if 条件)只允许移动第一个元素,现在我评论它,因为我不确定你说的只允许第一个元素改变是什么意思

在树视图中添加拖放功能,添加以下代码:

drop: function(e) {
      var data = $('#treeview-left').data('kendoTreeView').dataItem(e.sourceNode);
      var newData = $('#treeview-left').data('kendoTreeView').dataItem(e.destinationNode);

      // do not allow changing levels
      if (data.parent() != newData.parent() ) {
         console.log("do not allow changing levels");
         e.setValid(false);
      }
      // do not allow adding to leaf node
      if (!newData.hasChidren && e.dropPosition == "over") {
         console.log("do not allow adding to leaf node");
         e.setValid(false);
      }

      //only allow 1st level element drag drop but not 2nd element
      //if (data.parent()){
      //   console.log("only allow 1st parent drag drop");
      //   e.setValid(false);
     // }

},

KENDO DOJO

【讨论】:

    猜你喜欢
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多