如何指定Telerik Mvc控件的树状视图的层数



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

虽然没有直接的方法告诉TreeView保持严格的级别数量,但您仍然可以防止一个节点被丢弃在另一个节点上。一个简单的方法是检查节点的"位置",虽然它可能不适用于所有情况,但"位置"可以是"over"、"before"或"after"。当一个节点被放在另一个节点的顶部时(这将把它作为子元素添加),它具有"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中的节点。您可能需要添加代码来适应您的特定场景,因此这里有拖放以及客户端API文档文章的链接。

最新更新