2012-01-05 60 views
0

我正在嘗試使用Telerik Mvc Treeview。有沒有一種方法可以指定樹有多少嵌套級別?假設我只想要樹上的單個級別,那麼當我拖放節點時,我希望樹形視圖可以防止用戶將節點放到另一個節點上,以便它成爲該節點的子節點。如何指定Telerik Mvc控件的樹視圖級別數量?

回答

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> 

這將強制您只能重新組織樹視圖中的節點。您可能需要添加代碼以適合您的特定場景,因此,這裏是指向Drag and Drop以及Client-side API文檔文章的鏈接。