如何指定Telerik Mvc控件的树视图级别?

时间:2012-01-05 20:10:17

标签: asp.net-mvc treeview telerik telerik-mvc

我正在尝试使用Telerik Mvc Treeview。有没有办法指定树有多少嵌套级别?假设我只想在树上使用单个级别,那么当我拖放节点时,我希望树视图阻止用户将节点放到另一个节点上,以便它成为该节点的子节点。

1 个答案:

答案 0 :(得分:0)

虽然没有直接的方法告诉TreeView保持严格的级别,但您仍然可以防止节点被丢弃到另一个节点上。一个简单的方法,虽然它可能不适用于每种情况,但是要检查节点被放入的“位置”。“位置”可以是“超过”,“之前”或“之后”。当一个节点被放在另一个节点之上时(将其添加为子元素),它具有“over”位置。知道我们可以做到以下几点:

@{Html.Telerik().TreeView()
      .Name("TreeView")
      .Items(items =>
      {
          items.Add().Text("Item 1");
          items.Add().Text("Item 2");
          items.Add().Text("Item 3");

      })
      .DragAndDrop(true)
      .ClientEvents(clientEvents => clientEvents.OnNodeDrop("onNodeDropped"))
      .Render();
}

<script type="text/javascript">
    function onNodeDropped(e) {
        var position = e.dropPosition;
        if (position === "over") {
            e.preventDefault();
        }
    }
</script>

这将强制您只能重新组织TreeView中的节点。您可能需要添加适合您特定方案的代码,因此这里有指向Drag and Drop以及Client-side API文档文章的链接。