private void NsTreeView_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { var treeView = Widget as TreeView; if (treeView != null) { var ds = treeView.DataSource; if (ds != null) { var id = e.DestDragNode.Value; //var obiektDest = ds.GetObjectById(id); foreach (var item in e.DraggedNodes) { var idDragged = item.Value; var folder = ds.GetObjectById(idDragged); folder.SetPropValue(treeView.DataFieldParentId, Guid.Parse(id)); ds.Update(folder); //item.ParentNode = e.; } RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destinationNode = e.DestDragNode; if (destinationNode != null) { MoveNode(e.DropPosition, sourceNode, destinationNode); } } } }
/// <summary> /// Handles the OnNodeDrop event of the rtvTreeModules control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Telerik.Web.UI.RadTreeNodeDragDropEventArgs"/> instance containing the event data.</param> protected void rtvTreeModules_OnNodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { // Only tabs if (e.DestDragNode.Level == 1) { e.DestDragNode.Nodes.Add(e.DraggedNodes[0]); e.DraggedNodes[0].Selected = true; var order = 0; var menus = dataManager.Menu.SelectByAccessProfileID(AccessProfileID).Where(a => a.ParentID == Guid.Parse(e.DestDragNode.Attributes["NodeID"])).ToList(); if (menus.Count > 0) { order = menus.OrderByDescending(a => a.Order).First().Order + 1; } var menuId = Guid.NewGuid(); var menuAdd = new tbl_Menu(); menuAdd.ID = menuId; menuAdd.ParentID = Guid.Parse(e.DestDragNode.Attributes["NodeID"]); menuAdd.AccessProfileID = AccessProfileID; menuAdd.ModuleID = Guid.Parse(e.DraggedNodes[0].Value); menuAdd.Order = order; dataManager.Menu.Add(menuAdd); BindTreeModules(); BindTreeMenu(); } }
/// <summary> /// Handles the OnNodeDrop event of the rtvTreeMenu control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Telerik.Web.UI.RadTreeNodeDragDropEventArgs"/> instance containing the event data.</param> protected void rtvTreeMenu_OnNodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { if (e.DestDragNode.TreeView.ID == "rtvTreeMenu") { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; if (destNode != null) { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { PerformDragAndDrop(dropPosition, sourceNode, destNode); } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes) { PerformDragAndDrop(dropPosition, node, destNode); } } destNode.Expanded = true; sourceNode.TreeView.UncheckAllNodes(); } SaveMenu(); } }
protected void radSiteMap_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; if (destNode != null) //drag&drop is performed between trees { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { PerformDragAndDrop(dropPosition, sourceNode, destNode); } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { if (dropPosition == RadTreeViewDropPosition.Below) //Needed to preserve the order of the dragged items { for (int i = sourceNode.TreeView.SelectedNodes.Count - 1; i >= 0; i--) { PerformDragAndDrop(dropPosition, sourceNode.TreeView.SelectedNodes[i], destNode); } } else { foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes) { PerformDragAndDrop(dropPosition, node, destNode); } } } destNode.Expanded = true; sourceNode.TreeView.UnselectAllNodes(); } }
protected void NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; if (!ShareHolders.ValidateAPriori(sourceNode.Text, destNode.Text)) { return; } if (destNode != null) //drag&drop is performed between trees { bool betweenNodes = true; if (betweenNodes) //dropped node will at the same level as a destination node { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { PerformDragAndDrop(dropPosition, sourceNode, destNode); } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes) { PerformDragAndDrop(dropPosition, node, destNode); } } } else //dropped node will be a sibling of the destination node { throw new NotImplementedException(); } destNode.Expanded = true; sourceNode.TreeView.UnselectAllNodes(); } }
protected void rtvRolesDisponibles_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { //if (e.DestDragNode.ParentNode.Value == e.SourceDragNode.ParentNode.Value) //{ // foreach (RadTreeNode nodo in e.DestDragNode.ParentNode.Nodes) // { // GestionarRolDeUsuario(nodo, false); // } //} //else //busca if (e.DestDragNode != null) { RadTreeNodeCollection nodos = e.DestDragNode.ParentNode.TreeView.Nodes; for (int i = 0; i < nodos.Count; i++) { if (nodos[i].Value == e.SourceDragNode.ParentNode.Value) { foreach (RadTreeNode nodo in nodos[i].Nodes) { GestionarRolDeUsuario(nodo, false); } } } } GestionarRolDeUsuario(e.DraggedNodes[0], true); }
protected void rTreeViewSkills_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; if (destNode != null) //drag&drop is performed between trees { if (ChbClientSide.Checked) //dropped node will at the same level as a destination node { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { PerformDragAndDrop(dropPosition, sourceNode, destNode); } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { if (dropPosition == RadTreeViewDropPosition.Below) //Needed to preserve the order of the dragged items { for (int i = sourceNode.TreeView.SelectedNodes.Count - 1; i >= 0; i--) { PerformDragAndDrop(dropPosition, sourceNode.TreeView.SelectedNodes[i], destNode); } } else { foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes) { 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)) { sourceNode.Owner.Nodes.Remove(sourceNode); destNode.Nodes.Add(sourceNode); } } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { foreach (RadTreeNode node in rTreeViewSkills.SelectedNodes) { if (!node.IsAncestorOf(destNode)) { node.Owner.Nodes.Remove(node); destNode.Nodes.Add(node); } } } } destNode.Expanded = true; sourceNode.TreeView.UnselectAllNodes(); } }
protected void RadTreeView1_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { e.SourceDragNode.Remove(); if (e.HtmlElementID == RadListBox1.ClientID) { RadListBoxItem item = new RadListBoxItem(); item.Text = e.SourceDragNode.Text; if (RadListBox1.SelectedIndex > -1) { RadListBox1.Items.Insert(RadListBox1.SelectedIndex + 1, item); } else { RadListBox1.Items.Add(item); } } else { if (e.DestDragNode.Level == 0) { e.DestDragNode.Nodes.Add(e.SourceDragNode); } else { e.DestDragNode.InsertAfter(e.SourceDragNode); } } }
/// <summary> /// Proceeds the drop. /// </summary> /// <param name="radDockZone">The RAD dock zone.</param> /// <param name="e">The <see cref="Telerik.Web.UI.RadTreeNodeDragDropEventArgs"/> instance containing the event data.</param> private void ProceedDrop(RadDockZone radDockZone, RadTreeNodeDragDropEventArgs e) { if ((WidgetTypeInTreeView)int.Parse(e.SourceDragNode.Attributes["Type"]) != WidgetTypeInTreeView.Category) { var widgetToAccessProfile = new tbl_WidgetToAccessProfile { AccessProfileID = AccessProfileId, WidgetID = Guid.Parse(e.SourceDragNode.Value), Order = radDockLayout.RegisteredDocks.Count, ModuleID = CurrentModuleId == Guid.Empty ? null : (Guid?)CurrentModuleId }; dataManager.WidgetToAccessProfile.Add(widgetToAccessProfile); radDockZone.Controls.Add(AddRadDock(e.SourceDragNode.Text, widgetToAccessProfile.ID.ToString())); } else { foreach (RadTreeNode node in e.SourceDragNode.Nodes) { var widgetToAccessProfile = new tbl_WidgetToAccessProfile { AccessProfileID = AccessProfileId, WidgetID = Guid.Parse(node.Value), Order = radDockLayout.RegisteredDocks.Count, ModuleID = CurrentModuleId == Guid.Empty ? null : (Guid?)CurrentModuleId }; dataManager.WidgetToAccessProfile.Add(widgetToAccessProfile); radDockZone.Controls.Add(AddRadDock(node.Text, widgetToAccessProfile.ID.ToString())); } } }
protected void tvMenu_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { foreach (RadTreeNode node in e.DraggedNodes) { e.DestDragNode.Nodes.Add(node); } HF_Modificar.Value = "1"; }
protected void RadTreeView1_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; if (destNode != null) //drag&drop is performed between trees { PerformDragAndDrop(dropPosition, sourceNode, destNode); } }
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 HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { var sourceNode = e.SourceDragNode; var destinationNode = e.DestDragNode; //RadTreeViewDropPosition dropPosition = e.DropPosition; var dragNodes = e.DraggedNodes.ToList(); // move treeview if (destinationNode != null) { var cDests = new CApproval(); var dests = cDests.Get(Convert.ToInt32(destinationNode.Value), Convert.ToInt32(hfApproveType.Value)); if (dragNodes.Any()) { foreach (var n in dragNodes) { var cDrags = new CApproval(); var drags = cDests.Get(Convert.ToInt32(n.Value), Convert.ToInt32(hfApproveType.Value)); var emp = drags.UserId; switch (e.DropPosition) { case RadTreeViewDropPosition.Over: drags.Supervisor = dests.UserId; break; } cDrags.UpdateStaff(Convert.ToInt32(hfApproveType.Value), emp, drags.Supervisor); SetTreeviewChart(hfApproveType.Value); //} } } } // move to grid else if (e.HtmlElementID == RadGridSupervisor.ClientID) { foreach (var n in dragNodes) { var cDrags = new CApproval(); var drags = cDrags.Get(Convert.ToInt32(n.Value), Convert.ToInt32(hfApproveType.Value)); var emp = drags.UserId; drags.Supervisor = null; cDrags.UpdateStaff(Convert.ToInt32(hfApproveType.Value), emp, drags.Supervisor); SetTreeviewChart(hfApproveType.Value); } } }
protected void RadTreeView1_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; int currentPos = int.Parse(currentPlaceholderPosition.Value); int docksCount = CurrentDockStates.Count; RadDock dock = new RadDock(); dock.UniqueName = Guid.NewGuid().ToString(); dock.ID = string.Format("RadDock{0}", dock.UniqueName); dock.Title = "Dock" + docksCount.ToString(); //dock.Text = sourceNode.Text; dock.Width = Unit.Pixel(300); dock.Commands.Add(new DockCloseCommand()); dock.Commands.Add(new DockExpandCollapseCommand()); dock.Command += new DockCommandEventHandler(dock_Command); // Add Controls Label myLabel = new Label(); myLabel.Text = "<h1>This is a Lable Control</h1>"; TextBox myTextBox = new TextBox(); myTextBox.Text = "This is a Text Box"; dock.ContentContainer.Controls.Add(myLabel); dock.ContentContainer.Controls.Add(myTextBox); UpdatePanel1.ContentTemplateContainer.Controls.Add(dock); ScriptManager.RegisterStartupScript( dock, this.GetType(), "AddDock", string.Format(@"function _addDock() {{ Sys.Application.remove_load(_addDock); $find('{1}').dock($find('{0}'),{2}); $find('{0}').doPostBack('DockPositionChanged'); }}; Sys.Application.add_load(_addDock);", dock.ClientID, currentZoneTB.Value, currentPos), true); CreateSaveStateTrigger(dock); }
protected void rtvGCA_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { string ErrorMessage = String.Empty; if (e.SourceDragNode == null || e.DestDragNode == null) { return; } bool IsMerge = e.SourceDragNode.Level == e.DestDragNode.Level; if (e.SourceDragNode.Level - 1 != e.DestDragNode.Level && !IsMerge) { return; } if (e.SourceDragNode.Level < 1) { return; } Guid SourceID = new Guid(e.SourceDragNode.Value); Guid DestID = new Guid(e.DestDragNode.Value); if (IsMerge) { Bll.GroupCategoryAspect.Merge(SourceID, DestID); } else { bool isCopy = Request.Params["CtrlKeyField"] == "True"; if (isCopy) { Bll.GroupCategoryAspect.Copy(SourceID, DestID); } else { Bll.GroupCategoryAspect.Move(SourceID, DestID); } } if (!String.IsNullOrEmpty(ErrorMessage)) { rapTreeView.ResponseScripts.Add("alert('" + ErrorMessage.Replace("'", "\\'") + "');"); } GenerateTreeView(); }
/// <summary> /// Handles the OnNodeDrop event of the rtwWidgets control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Telerik.Web.UI.RadTreeNodeDragDropEventArgs"/> instance containing the event data.</param> protected void rtwWidgets_OnNodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { if (e.HtmlElementID == radDockZone1.ClientID) { ProceedDrop(radDockZone1, e); } if (e.HtmlElementID == radDockZone2.ClientID) { ProceedDrop(radDockZone2, e); } if (e.HtmlElementID == radDockZone3.ClientID) { ProceedDrop(radDockZone3, e); } if (e.HtmlElementID == radDockZone4.ClientID) { ProceedDrop(radDockZone4, e); } }
protected void rtv1_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; if (sourceNode.TreeView.SelectedNodes.Count <= 1) { PerformDragAndDrop(dropPosition, sourceNode, destNode); } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes) { PerformDragAndDrop(dropPosition, node, destNode); } } ShowNodeEdit(e.SourceDragNode.Value, true); hidCurrentNodeValue.Value = e.SourceDragNode.Value; }
protected void treeRol_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { var valor = treeRol.SelectedValue; int rol = int.Parse(rolID.Value); try { if (treeRol.SelectedNode.Level == 0) { int menu1 = int.Parse(valor); _rolManager.DeleteRol(rol, menu1, string.Empty); } else { int menu2 = int.Parse(treeRol.SelectedNode.ParentNode.Value); _rolManager.DeleteRol(rol, menu2, valor); } SetPerfil(rol); } catch (Exception) { } }
protected void RadTreeView1_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { e.SourceDragNode.Remove(); if (e.DestDragNode.Level == 0) { e.DestDragNode.Nodes.Add(e.SourceDragNode); } else { e.DestDragNode.InsertAfter(e.SourceDragNode); } btn_Submit.Visible = true; }
protected void RadTreeView1_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { NodeDrop(sender, e); }
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(); } }
protected void rtvRolesAsignados_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { GestionarRolDeUsuario(e.DraggedNodes[0], false); }
protected void Tree_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { if (e == null) { return; } if (e.SourceDragNode == null || e.DestDragNode == null) { return; } bool IsMerge = e.SourceDragNode.Level == e.DestDragNode.Level; if (e.SourceDragNode.Level - 1 != e.DestDragNode.Level && !IsMerge) { return; } if (e.SourceDragNode.Level < 1) { return; } object obj = Support.ConvertStringToType(e.SourceDragNode.Value, typeof(Guid)); Guid sourceId = ((obj == null) ? Guid.Empty : (Guid)obj); obj = Support.ConvertStringToType(e.DestDragNode.Value, typeof(Guid)); Guid destId = ((obj == null) ? Guid.Empty : (Guid)obj); RadTreeNode destNode = Tree.FindNodeByValue(e.DestDragNode.Value); RadTreeNode sourceNode = Tree.FindNodeByValue(e.SourceDragNode.Value); if (IsMerge) { foreach (RadTreeNode rtn in sourceNode.Nodes) { EntityNodeProvider.ChangeParentEntityNode(new Guid(rtn.Value), destId); } EntityNodeProvider.MergeEntityNode(sourceId, destId); RefreshTree(); destNode = Tree.FindNodeByValue(destId.ToString()); UpdateAllNodesPath(destNode); } else { bool isCopy = false; if (!String.IsNullOrEmpty(Request.Params["CtrlKeyField"])) { isCopy = Convert.ToBoolean(Request.Params["CtrlKeyField"], CultureInfo.InvariantCulture); } if (isCopy) { EntityNodeProvider.CopyEntityNode(UserContext.Current.OrganizationId, this.SelectedInstanceId, sourceId, destId, this.Entity.HierarchyStartLevel); RadTreeNode rtn = new RadTreeNode(); rtn.Text = sourceNode.Text; rtn.Value = sourceNode.Value; rtn.Category = sourceNode.Category; rtn.ContextMenuID = sourceNode.ContextMenuID; destNode.Nodes.Add(rtn); Bll.Providers.EntityNodeProvider.UpdateEntityNodePath(new Guid(rtn.Value), rtn.GetFullPath(" > ")); } else { EntityNodeProvider.ChangeParentEntityNode(sourceId, destId); destNode.Nodes.Add(sourceNode); Bll.Providers.EntityNodeProvider.UpdateEntityNodePath(new Guid(sourceNode.Value), sourceNode.GetFullPath(" > ")); } } }
protected void tree_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { if (CurrentRights.Contains(HomoryCoreConstant.RightMoveDepartment)) { if (e.SourceDragNode == null || e.DestDragNode == null || e.SourceDragNode.ParentNode.Value == e.DestDragNode.Value) return; if (e.SourceDragNode.Level != 2 || e.DestDragNode.Level != 1) return; var id = Guid.Parse(e.SourceDragNode.Value); var parentId = Guid.Parse(e.DestDragNode.Value); var level = e.DestDragNode.Level + 1; HomoryContext.Value.Department.Where(o => o.Id == id).Update(o => new Homory.Model.Department { ParentId = parentId, Level = level }); HomoryContext.Value.SaveChanges(); LogOp(OperationType.编辑); RebindMove(e.SourceDragNode.ParentNode.Value, e.SourceDragNode.Value, e.DestDragNode.Value); } else { Notify(panel, "无权限调动班级", "warn"); } }
/// <summary> /// Handles the OnNodeDrop event of the rtvDestination control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Telerik.Web.UI.RadTreeNodeDragDropEventArgs"/> instance containing the event data.</param> protected void rtvDestination_OnNodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { if ((!string.IsNullOrEmpty(e.HtmlElementID) && e.HtmlElementID == rtvDestination.ClientID) || e.DestDragNode != null) { foreach (RadTreeNode node in e.DraggedNodes) { var toInsertNode = node.Clone(); if (IsExist(toInsertNode.Value)) { continue; } if (toInsertNode.Attributes["GroupId"] != null) { toInsertNode.Text = string.Format("Справочник '{0}' из шаблона '{1}'", toInsertNode.Text, ucSiteTemplateComboBox.SelectedText); toInsertNode.Attributes.Add("SiteId", ucSiteTemplateComboBox.SelectedValue.ToString()); } else { foreach (RadTreeNode n in toInsertNode.Nodes) { n.Text = string.Format("Справочник '{0}' из шаблона '{1}'", n.Text, ucSiteTemplateComboBox.SelectedText); n.Attributes.Add("SiteId", ucSiteTemplateComboBox.SelectedValue.ToString()); } } if (e.DestDragNode == null) { if (toInsertNode.Attributes["GroupId"] == null) { rtvDestination.Nodes.Add(toInsertNode); } else { if (rtvDestination.Nodes.FindNodeByValue(toInsertNode.Attributes["GroupId"]) == null) { var parentNode = node.ParentNode.Clone(); parentNode.Nodes.Clear(); parentNode.Nodes.Add(toInsertNode); rtvDestination.Nodes.Add(parentNode); } else { rtvDestination.Nodes.FindNodeByValue(node.Attributes["GroupId"]).Nodes.Add(toInsertNode); } } } else if (toInsertNode.Attributes["IsGroup"] == null) { if (e.DestDragNode.Level > 0) { if (e.DestDragNode.ParentNode.Value == toInsertNode.Attributes["GroupId"]) { e.DestDragNode.ParentNode.Nodes.Add(toInsertNode); } } else if (e.DestDragNode.Value == toInsertNode.Attributes["GroupId"]) { e.DestDragNode.Nodes.Add(toInsertNode); } } } } }
protected void Node_DraggedDropped <T>(object sender, RadTreeNodeDragDropEventArgs e) { string destNode = e.DestDragNode.Text; RadTreeView1.Nodes.FindNodeByText(destNode).ExpandParentNodes(); }
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 CtlPagesNodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { if (PortalSecurity.IsInRole(PortalSettings.AdministratorRoleName)) { var sourceNode = e.SourceDragNode; var destNode = e.DestDragNode; var dropPosition = e.DropPosition; if (destNode != null) { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { PerformDragAndDrop(dropPosition, sourceNode, destNode); } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { foreach (var node in sourceNode.TreeView.SelectedNodes) { PerformDragAndDrop(dropPosition, node, destNode); } } destNode.Expanded = true; foreach (var node in ctlPages.GetAllNodes()) { node.Selected = node.Value == e.SourceDragNode.Value; } } } }
protected void rtvCtChung_OnNodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { PerformUpdateIndex(e.DropPosition, e.SourceDragNode, e.DestDragNode); PerformDragAndDrop(e.DropPosition, e.SourceDragNode, e.DestDragNode); }
protected void rtvMetricCategory_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) { string ErrorMessage = String.Empty; if (e.SourceDragNode == null || e.DestDragNode == null) { return; } int SourceLevel = e.SourceDragNode.Level; string SourceValue = e.SourceDragNode.Value; int DestLevel = e.DestDragNode.Level; string DestValue = e.DestDragNode.Value; if (SourceLevel > 0 && SourceValue != EmptyNodeID && DestLevel > 0 && DestLevel <= 3 && DestValue != SourceValue) { if (SourceValue.Contains(MetricSuffix)) { if (!DestValue.Contains(MetricSuffix) || DestValue == EmptyNodeID) { string[] ComplexID = SourceValue.Split('|'); Guid MetricID = new Guid(ComplexID[0]); Guid? DestID = null; if (DestValue != EmptyNodeID) { DestID = new Guid(e.DestDragNode.Value); } Bll.Metric.ChangeMetricCategory(MetricID, DestID); } } else { if (SourceLevel <= 3 && !DestValue.Contains(MetricSuffix) && DestValue != EmptyNodeID && (DestLevel == SourceLevel - 1 || DestLevel == SourceLevel)) { bool IsMerge = SourceLevel == DestLevel; Guid SourceID = new Guid(SourceValue); Guid DestID = new Guid(DestValue); if (IsMerge) { Bll.MetricCategory.Merge(SourceID, DestID); } else { bool isCopy = Request.Params["CtrlKeyField"] == "True"; if (isCopy) { Bll.MetricCategory.Copy(SourceID, DestID); } else { Bll.MetricCategory.Move(SourceID, DestID); } } } } } if (!String.IsNullOrEmpty(ErrorMessage)) { rapTreeView.ResponseScripts.Add("alert('" + ErrorMessage.Replace("'", "\\'") + "');"); } GenerateTreeView(); }