0
我正在嘗試使用Telerik Mvc Treeview。有沒有一種方法可以指定樹有多少嵌套級別?假設我只想要樹上的單個級別,那麼當我拖放節點時,我希望樹形視圖可以防止用戶將節點放到另一個節點上,以便它成爲該節點的子節點。如何指定Telerik Mvc控件的樹視圖級別數量?
我正在嘗試使用Telerik Mvc Treeview。有沒有一種方法可以指定樹有多少嵌套級別?假設我只想要樹上的單個級別,那麼當我拖放節點時,我希望樹形視圖可以防止用戶將節點放到另一個節點上,以便它成爲該節點的子節點。如何指定Telerik Mvc控件的樹視圖級別數量?
儘管沒有直接告訴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>
這將強制您只能重新組織樹視圖中的節點。您可能需要添加代碼以適合您的特定場景,因此,這裏是指向Drag and Drop以及Client-side API文檔文章的鏈接。