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; } 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 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; } }
public void AjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e) { string[] args = e.Argument.Replace("\r\n", "\n").Split('\n'); RadTreeView srcTree = null; RadTreeView dstTree = null; if (TreeResources.ClientID.Equals(args[0])) { srcTree = TreeResources; } else if (TreeResources.ClientID.Equals(args[0])) { srcTree = TreeResources; } if (TreeResources.ClientID.Equals(args[1])) { dstTree = TreeResources; } else if (TreeResources.ClientID.Equals(args[1])) { dstTree = TreeResources; } RadTreeNode sourceNode = srcTree.FindNodeByText(args[2]); RadTreeNode destNode = dstTree.FindNodeByText(args[3]); //if (sourceNode.Parent == null) //{ // RadAjaxManager1.Alert("گره اصلی قابل حذف نیست"); // return; //} RadTreeNode tempNode = destNode; while (tempNode != null) { if (!tempNode.Equals(sourceNode)) { tempNode = tempNode.ParentNode; } else { break; } } if (tempNode != null) { //RadAjaxManager1.Alert("نمیتوان یک گره را به فرزندانش منتقل کرد"); return; } BOLResources ResourcesBOl = new BOLResources(); ResourcesBOl.Code = Convert.ToInt32(sourceNode.Value); ResourcesBOl.MasterCode = Convert.ToInt32(destNode.Value); ResourcesBOl.Name = sourceNode.Text; ResourcesBOl.SaveChanges(false); RadTreeNode newNode = new RadTreeNode(sourceNode.Text, sourceNode.Value); AddChilds(newNode, sourceNode); destNode.Nodes.Add(newNode); destNode.ExpandChildNodes(); if (!sourceNode.Equals(srcTree.Nodes[0])) { sourceNode.Remove(); } }
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"; } }
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; } }
private static 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; } }