private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode)) { return; } sourceNode.Owner.Nodes.Remove(sourceNode); switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode)) { destNode.Nodes.Add(sourceNode); } break; case RadTreeViewDropPosition.Above: // sibling - above destNode.InsertBefore(sourceNode); break; case RadTreeViewDropPosition.Below: // sibling - below destNode.InsertAfter(sourceNode); break; } BOLResources ResourcesBOl = new BOLResources(); ResourcesBOl.Code = Convert.ToInt32(sourceNode.Value); ResourcesBOl.MasterCode = Convert.ToInt32(destNode.Value); ResourcesBOl.Name = sourceNode.Text; ResourcesBOl.SaveChanges(false); }
private static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode)) { return; } if (destNode.ParentNode == null) { return; } sourceNode.Owner.Nodes.Remove(sourceNode); switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode)) { destNode.Nodes.Add(sourceNode); } break; case RadTreeViewDropPosition.Above: // sibling - above destNode.InsertBefore(sourceNode); break; case RadTreeViewDropPosition.Below: // sibling - below destNode.InsertAfter(sourceNode); break; } }
private void MoveNode(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { if (sourceNode == destNode || sourceNode.IsAncestorOf(destNode)) { return; } sourceNode.Owner.Nodes.Remove(sourceNode); switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode)) { destNode.Nodes.Add(sourceNode); destNode.Expanded = true; } break; case RadTreeViewDropPosition.Above: // sibling - above destNode.InsertBefore(sourceNode); break; case RadTreeViewDropPosition.Below: // sibling - below destNode.InsertAfter(sourceNode); break; } sourceNode.Selected = false; }
private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode)) { return; } // Check if destNote is Root when drop above and below it. if (dropPosition == RadTreeViewDropPosition.Above || dropPosition == RadTreeViewDropPosition.Below) { if (destNode.ParentNode == null) { return; } } RadTreeNode srcNode = sourceNode.ParentNode; sourceNode.Owner.Nodes.Remove(sourceNode); switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode)) { destNode.Nodes.Add(sourceNode); // Update Database structure Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.Value); Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode); } break; case RadTreeViewDropPosition.Above: // sibling - above destNode.InsertBefore(sourceNode); // Update Database structure Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.ParentNode.Value); Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode.ParentNode); break; case RadTreeViewDropPosition.Below: // sibling - below destNode.InsertAfter(sourceNode); // Update Database structure Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.ParentNode.Value); Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode.ParentNode); break; } }
/// <summary> /// Performs the drag and drop. /// </summary> /// <param name="dropPosition">The drop position.</param> /// <param name="sourceNode">The source node.</param> /// <param name="destNode">The dest node.</param> private static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode) && ((destNode.Level == 1 && sourceNode.Level == 2) || (destNode.Level == 0 && sourceNode.Level == 1))) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.Nodes.Add(sourceNode); } break; case RadTreeViewDropPosition.Above: // sibling - above if ((destNode.Level == 1 && sourceNode.Level == 1) || (destNode.Level == 2 && sourceNode.Level == 2)) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertBefore(sourceNode); } break; case RadTreeViewDropPosition.Below: // sibling - below if ((destNode.Level == 1 && sourceNode.Level == 1) || (destNode.Level == 2 && sourceNode.Level == 2)) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertAfter(sourceNode); } break; } }
protected void treeCategories_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { FAQsController FAQsController = new FAQsController(); RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; if (destNode == null || sourceNode == destNode || sourceNode.IsAncestorOf(destNode)) { return; } int sourceFaqCategoryId = Convert.ToInt32(sourceNode.Value); CategoryInfo sourceCategory = FAQsController.GetCategory(sourceFaqCategoryId); int destFaqCategoryId = Convert.ToInt32(destNode.Value); CategoryInfo destCategory = FAQsController.GetCategory(destFaqCategoryId); switch (dropPosition) { case RadTreeViewDropPosition.Over: // child // Change Treeview sourceNode.Owner.Nodes.Remove(sourceNode); destNode.Nodes.Add(sourceNode); // Change the ParentId of Source in database sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryId; sourceCategory.ViewOrder = 999; FAQsController.UpdateCategory(sourceCategory); break; case RadTreeViewDropPosition.Above: // sibling - above sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertBefore(sourceNode); sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryParentId; sourceCategory.ViewOrder = destCategory.ViewOrder - 1; FAQsController.UpdateCategory(sourceCategory); break; case RadTreeViewDropPosition.Below: // sibling - below sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertAfter(sourceNode); sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryParentId; sourceCategory.ViewOrder = destCategory.ViewOrder + 1; FAQsController.UpdateCategory(sourceCategory); break; } FAQsController.ReorderCategory(sourceCategory.FaqCategoryParentId, ModuleId); panelAddEdit.Visible = false; }
protected void RadTreeView1_NodeDrop(object o, RadTreeNodeEventArgs e) { // Fetch event data RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; string path = e.DestDragNode.FullPath.Substring(getmainfolder(Request["pg"].ToString()).Length + 1); if (e.SourceDragNode.Category == "Files") { if (System.IO.File.Exists(e.SourceDragNode.Value)) { System.IO.File.Move(e.SourceDragNode.Value, e.DestDragNode.Value + "\\" + e.SourceDragNode.Text); } } else { if (System.IO.Directory.Exists(e.SourceDragNode.Value)) { System.IO.Directory.Move(e.SourceDragNode.Value, e.DestDragNode.Value + "\\" + e.SourceDragNode.Text); } //getitemonserver(e.SourceDragNode.Category, e.SourceDragNode.Value, e.DestDragNode.Value + path + "\\" + e.SourceDragNode.Text); } // Swap nodes in tree. if (!sourceNode.IsAncestorOf(destNode)) { sourceNode.Parent.Selected = true; sourceNode.Owner.Nodes.Remove(sourceNode); destNode.Nodes.Add(sourceNode); } // Expand destination node to see result of swap immediately. destNode.ExpandMode = ExpandMode.ServerSide; destNode.Expanded = true; }
private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { var tabController = new TabController(); var sourceTab = tabController.GetTab(int.Parse(sourceNode.Value), PortalId, false); var targetTab = tabController.GetTab(int.Parse(destNode.Value), PortalId, false); switch (dropPosition) { case RadTreeViewDropPosition.Over: if (!(sourceNode.IsAncestorOf(destNode))) { if (MoveTabToParent(sourceTab, targetTab)) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.Nodes.Add(sourceNode); } } break; case RadTreeViewDropPosition.Above: if (MoveTab(sourceTab, targetTab, Position.Above)) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertBefore(sourceNode); } break; case RadTreeViewDropPosition.Below: if (MoveTab(sourceTab, targetTab, Position.Below)) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertAfter(sourceNode); } break; } }
private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode)) { return; } sourceNode.Owner.Nodes.Remove(sourceNode); Guid currentNavId = new Guid(hidCurrNavID.Value); CSBooster_DataContext csb = new CSBooster_DataContext(Helper.GetSiemeConnectionString()); var navStructureRecord = csb.hisp_Navigation_GetNavigationStructureXML(currentNavId).SingleOrDefault(); XElement xMoveNode = null; XElement structDestNode = null; XElement xmlStruct = null; if (navStructureRecord != null) { xmlStruct = XElement.Parse(navStructureRecord.NST_XMLStruct); var nodeToRemove = (from theNodes in xmlStruct.Descendants("Node").Where(x => x.Attribute("Value").Value == sourceNode.Value) select theNodes).SingleOrDefault(); structDestNode = (from theNodes in xmlStruct.Descendants("Node").Where(x => x.Attribute("Value").Value == destNode.Value) select theNodes).SingleOrDefault(); if (nodeToRemove != null) { xMoveNode = XElement.Parse(nodeToRemove.ToString()); nodeToRemove.Remove(); } } if (xMoveNode != null) { switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode)) { destNode.Nodes.Add(sourceNode); if (structDestNode != null) { structDestNode.Add(xMoveNode); } else { //droped to the root xmlStruct.Add(xMoveNode); } } break; case RadTreeViewDropPosition.Above: // sibling - above destNode.InsertBefore(sourceNode); structDestNode.AddBeforeSelf(xMoveNode); break; case RadTreeViewDropPosition.Below: // sibling - below destNode.InsertAfter(sourceNode); structDestNode.AddAfterSelf(xMoveNode); break; } sourceNode.ExpandParentNodes(); csb.hisp_Navigation_SaveNavigationStructure(currentNavId, null, xmlStruct.ToString()); lbtnG.Text = language.GetString("TooltipNotSynchronized"); lbtnG.CssClass = "icon navnotsynchro"; } }
private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode)) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.Nodes.Add(sourceNode); } break; case RadTreeViewDropPosition.Above: // sibling - above sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertBefore(sourceNode); break; case RadTreeViewDropPosition.Below: // sibling - below sourceNode.Owner.Nodes.Remove(sourceNode); destNode.InsertAfter(sourceNode); break; } }
public void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode)) { return; } //Do not remove relation here. //sourceNode.Owner.Nodes.Remove(sourceNode); var shareHolders = new ShareHolders(); bool validation = false; switch (dropPosition) { case RadTreeViewDropPosition.Over: validation = shareHolders.AddSubsidiary(destNode.Text, sourceNode.Text); // child if (!sourceNode.IsAncestorOf(destNode) && validation == true) { destNode.Nodes.Add(sourceNode); } IsUpdated = validation; break; case RadTreeViewDropPosition.Above: validation = shareHolders.AddSubsidiary(destNode.ParentNode.Text, sourceNode.Text); // sibling - above if (validation == true) { destNode.InsertBefore(sourceNode); } IsUpdated = validation; break; case RadTreeViewDropPosition.Below: validation = shareHolders.AddSubsidiary(destNode.Text, sourceNode.Text); // sibling - below if (validation == true) { destNode.InsertAfter(sourceNode); } IsUpdated = validation; break; } }
protected void RadTreeView1_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; string result = ""; if (destNode != null)//drag&drop is performed between trees { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { result += "<b>" + sourceNode.Text + "</b>" + ";"; PerformDragAndDrop(dropPosition, sourceNode, destNode); } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes) { result += "<b>" + node.Text + "</b>" + ";"; PerformDragAndDrop(dropPosition, node, destNode); } } else//dropped node will be a sibling of the destination node { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { if (!sourceNode.IsAncestorOf(destNode)) { result += "<b>" + sourceNode.Text + "</b>" + ";"; sourceNode.Owner.Nodes.Remove(sourceNode); destNode.Nodes.Add(sourceNode); } } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { foreach (RadTreeNode node in RadTreeView1.SelectedNodes) { if (!node.IsAncestorOf(destNode)) { result += "<b>" + node.Text + "</b>" + ";"; node.Owner.Nodes.Remove(node); destNode.Nodes.Add(node); } } } } if (e.SourceDragNode.Category == "Files") { if (!System.IO.File.Exists(e.SourceDragNode.Value)) { System.IO.File.Move(e.SourceDragNode.Value, e.DestDragNode.Value + "\\" + e.SourceDragNode.Text); } else { string fname = e.SourceDragNode.Text.Substring(0, e.SourceDragNode.Text.LastIndexOf(".")); string ext = e.SourceDragNode.Text.Substring(fname.Length); int counter = 1; string targetFileName = Path.Combine(e.DestDragNode.Value, fname + counter.ToString() + ext); while (System.IO.File.Exists(targetFileName)) { counter++; targetFileName = Path.Combine(e.DestDragNode.Value, fname + counter.ToString() + ext); } System.IO.File.Move(e.SourceDragNode.Value, targetFileName); } } else { if (!System.IO.Directory.Exists(e.DestDragNode.Value + "\\" + e.SourceDragNode.Text)) { if (System.IO.Directory.Exists(e.SourceDragNode.Value)) { System.IO.Directory.Move(e.SourceDragNode.Value, e.DestDragNode.Value + "\\" + e.SourceDragNode.Text); } } } destNode.Expanded = true; System.IO.FileSystemWatcher mywatcher = new FileSystemWatcher(e.DestDragNode.Value); mywatcher.WaitForChanged(WatcherChangeTypes.All, 2000); sourceNode.TreeView.ClearSelectedNodes(); createtree(e.DestDragNode.Value); // UpdatePanel1.Update(); } }