or
<telerik:RadTreeView runat="server" ID="rdtrOrganization" Height="450" BorderWidth="0" OnNodeExpand="groupsTree_NodeExpand" OnClientNodeClicked="ClientNodeClicking" OnClientNodeDropping ="onNodeDropping" EnableDragAndDrop="true" EnableDragAndDropBetweenNodes="true" Width="100%" Skin="Web20" CheckBoxes="false" CausesValidation="false" TriStateCheckBoxes="false"></telerik:RadTreeView>
function onNodeDropping(sender, args) {
var sourceNode = args.get_sourceNode();
var destinationNode = args.get_destNode();
var nodeType = sourceNode._attributes.getAttribute('<%=k_TreeNodeTypeAttribute%>');
if (nodeType === "SP" || nodeType === "Server" || nodeType === "Company") {
return;
}
var dest = args.get_destNode();
if (dest) {
$telerik.$.ajax({
type: "POST",
url: "OrganizationManagement.aspx/MoveTeam",
data: "{'sourceID': '" + sourceNode._attributes._data.Guid + "','destinationID': '" + destinationNode._attributes._data.Guid + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
clientSideEdit(sender, args);
},
error: function (xhr, err) {
}
});
}
}
function clientSideEdit(sender, args) { var destinationNode = args.get_destNode(); if (destinationNode) { var firstTreeView = $find('<%= rdtrOrganization.ClientID %>'); firstTreeView.trackChanges(); var sourceNodes = args.get_sourceNodes(); var dropPosition = args.get_dropPosition(); //Needed to preserve the order of the dragged items if (dropPosition == "below") { for (var i = sourceNodes.length - 1; i >= 0; i--) { var sourceNode = sourceNodes[i]; sourceNode.get_parent().get_nodes().remove(sourceNode); insertAfter(destinationNode, sourceNode); } } else { for (var i = 0; i < sourceNodes.length; i++) { var sourceNode = sourceNodes[i]; sourceNode.get_parent().get_nodes().remove(sourceNode); if (dropPosition == "over") destinationNode.get_nodes().add(sourceNode); if (dropPosition == "above") insertBefore(destinationNode, sourceNode); } } destinationNode.set_expanded(true); firstTreeView.commitChanges(); } } function insertAfter(destinationNode, sourceNode) { var destinationParent = destinationNode.get_parent(); var index = destinationParent.get_nodes().indexOf(destinationNode); destinationParent.get_nodes().insert(index + 1, sourceNode); } function insertBefore(destinationNode, sourceNode) { var destinationParent = destinationNode.get_parent(); var index = destinationParent.get_nodes().indexOf(destinationNode); destinationParent.get_nodes().insert(index, sourceNode); }
01.Friend Class SiteDataItem02. Private text1 As String03. Private id1 As Integer04. Private parentId1 As Integer05. Private report_id1 As String06. 07. Public Property Text() As String08. Get09. Return text110. End Get11. Set(ByVal value As String)12. text1 = value13. End Set14. End Property15. 16. 17. Public Property ID() As Integer18. Get19. Return id120. End Get21. Set(ByVal value As Integer)22. id1 = value23. End Set24. End Property25. 26. Public Property ParentID() As Integer27. Get28. Return parentId129. End Get30. Set(ByVal value As Integer)31. parentId1 = value32. End Set33. End Property34. 35. Public Property Report_ID() As String36. Get37. Return report_id138. End Get39. Set(ByVal value As String)40. report_id1 = value41. End Set42. End Property43. 44. Public Sub New(ByVal id As Integer, ByVal parentId As Integer, ByVal text As String, Optional ByVal report_id1 As String = "99")45. Me.id1 = id46. Me.parentId1 = parentId47. Me.text1 = text48. Me.report_id1 = Report_ID49. 50. End Sub51. 52. 53. '--------- Constractor54. Public Sub New(ByVal id As Integer, ByVal parentId As Integer, ByVal text As String, Optional ByVal report_id1 As String = "99")55. Me.id1 = id56. Me.parentId1 = parentId57. Me.text1 = text58. Me.report_id1 = Report_ID59. 60. End Sub61. End Class62. 63. '=======64. 65. 66. Private Sub BindToIEnumerable(ByVal treeView As RadTreeView)67. Dim siteData As New List(Of SiteDataItem)()68. 69. siteData.Add(New SiteDataItem(1, 0, "Location"))70. siteData.Add(New SiteDataItem(2, 0, "Hobbies"))71. siteData.Add(New SiteDataItem(3, 1, "func 1", "101"))72. siteData.Add(New SiteDataItem(4, 1, "func 2", "102"))73. siteData.Add(New SiteDataItem(5, 2, "func 4", "103"))74. siteData.Add(New SiteDataItem(6, 2, " func 1" , "104"))75. 76. 77. treeView.DataTextField = "Text"78. treeView.DataFieldID = "ID"79. treeView.DataFieldParentID = "ParentID"80. treeView.DataValueField = "Report_ID"81. treeView.DataSource = siteData82. treeView.DataBind()83. 84. 85. 86. End SubProtected Sub treeView_SideMenu_NodeClick(sender As Object, e As RadTreeNodeEventArgs) Handles treeView_SideMenu.NodeClick Session("funcID") = e.Node.Value 'Unfortunately return NULL End Sub
