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); }
/// <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; } }
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 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 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; } }
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; }
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; } }