private void BuildContextMenu() { ctxTreeCategory = new TreePanel { ID = "ctxTreeCategory", Height = 300, Width = 200, Shadow = false, UseArrows = true, AutoScroll = true, Animate = true, RootVisible = false, Cls = "tasks-tree", Root = { new Node{NodeID="root", EmptyChildren = true} }, Store = { new TreeStore { ModelName = "CategoryTree" } }, SelectionModel = { new TreeSelectionModel() } }; this.ctxMenu = new Menu { Items = { new MenuItem { ID = "mnuTaskGrid_OpenTask", Text = "Open" }, new MenuItem { Text = "Move To...", Icon = Net.Icon.ArrowRight, Menu = { new Menu { Items = { new Panel { Width = 200, BodyStyle = "color: #3764a0;", BodyPadding = 5, Html = "You can drag and drop tasks from<br/>the grid to the west tree also" }, new MenuSeparator(), this.ctxTreeCategory } } } }, new MenuSeparator(), new MenuItem { ID = "mnuTaskGrid_MarkTask", Text = "Mark Complete", IconCls = "icon-mark-complete" }, new MenuItem { ID = "mnuTaskGrid_DeleteTask", Text = "Delete", IconCls = "icon-category-delete" } } }; this.Controls.Add(this.ctxMenu); this.LazyItems.Add(this.ctxMenu); this.ctxMenu.LazyMode = LazyMode.Instance; }
private TreeNode CreateMainItem(NavMenu menu, Accordion accordion) { var treePanel = new TreePanel(); treePanel.ID = "tp" + menu.Id; treePanel.AutoScroll = true; treePanel.Collapsed = false; treePanel.CollapseFirst = true; treePanel.HideParent = false; treePanel.RootVisible = false; treePanel.Title = menu.Name; treePanel.Icon = Icon.ApplicationHome; treePanel.Listeners.Click.Handler = "e.stopEvent();loadPage(#{MainTabs},node)"; var rootNode = new TreeNode(menu.Id, menu.Name, Icon.FolderHome); rootNode.Expanded = true; treePanel.Root.Add(rootNode); accordion.Items.Add(treePanel); return rootNode; }
private void BuildContextMenu() { ctxTreeCategory = new TreePanel { ID = "ctxTreeCategory", Height = 300, Width = 200, Shadow = ShadowMode.None, UseArrows = true, AutoScroll = true, Animate = true, RootVisible = false, Cls = "tasks-tree", Root = { new TreeNode("root") }, SelectionModel = { new DefaultSelectionModel() } }; this.ctxMenu = new Menu { Items = { new MenuItem { ID = "mnuTaskGrid_OpenTask", Text = "Open" }, new MenuItem { Text = "Move To...", Icon = Net.Icon.ArrowRight, Menu = { new Menu { Items = { new ComponentMenuItem { Shift = false, Component = { new Panel { Width = 200, BodyStyle = "color: #3764a0;", Padding = 5, Html = "You can drag and drop tasks from<br/>the grid to the west tree also" } } }, new MenuSeparator(), new ComponentMenuItem { Shift = false, Component = { this.ctxTreeCategory } } } } } }, new MenuSeparator(), new MenuItem { ID = "mnuTaskGrid_MarkTask", Text = "Mark Complete", IconCls = "icon-mark-complete" }, new MenuItem { ID = "mnuTaskGrid_DeleteTask", Text = "Delete", IconCls = "icon-category-delete" } } }; this.Controls.Add(this.ctxMenu); this.LazyItems.Add(this.ctxMenu); this.ctxMenu.LazyMode = LazyMode.Instance; }
private void CreateTreesPanel() { treesPanel = AddUIComponent <TreePanel>(); treesPanel.Build(PanelType.Trees, new Layout(new Vector2(400.0f, 0.0f), true, LayoutDirection.Vertical, LayoutStart.TopLeft, 5, "GenericPanel")); currentPanel = treesPanel; }
//private void LeftItemDblClick_Event(object sender, DirectEventArgs e) //{ // this.MoveNode(this._treePanelLeft, this._treePanelRight); //} //private void MoveNode(TreePanel source, TreePanel target) //{ // List<SubmittedNode> selectedNodes = source.SelectedNodes; // if (selectedNodes != null) // { // if (NodesAdding != null) // { // var nodeIds = selectedNodes.Select(x => Convert.ToInt32(x.NodeID)); // var args = new NodesAddEventArgs(); // args.NodeIds.AddRange(nodeIds); // NodesAdding(this, args); // if (args.CancelAdd) // { // Ext.Net.X.Msg.Alert("提示", args.ErrorMessage).Show(); // return; // } // } // foreach (SubmittedNode node in selectedNodes) // { // target.GetRootNode().InsertChild(0, node.ToProxyNode()); // source.GetNodeById(node.NodeID).Remove(); // if (target.ID.Contains("Right")) // { // //增加 // this._selectedIds.Add(ConvertHelper.ToInt32(node.NodeID)); // } // else // { // this._selectedIds.Remove(ConvertHelper.ToInt32(node.NodeID)); // } // } // } //} protected override void OnInit(EventArgs e) { base.OnInit(e); var addNodes = "function(){var nodes=App." + leftPanelId + ".getSelectionModel().getSelection();App." + rightPanelId + ".getRootNode().appendChild(nodes);App." + leftPanelId + ".getRootNode().removeChild(nodes);}"; var removeNodes = "function(){var nodes=App." + rightPanelId + ".getSelectionModel().getSelection();App." + leftPanelId + ".getRootNode().appendChild(nodes);App." + rightPanelId + ".getRootNode().removeChild(nodes);}"; this._selectedIds = (List <int>) this.Context.Cache["_selectedIds"]; if (this._selectedIds == null) { this._selectedIds = new List <int>(); this.Context.Cache["_selectedIds"] = this._selectedIds; } this.Layout = "hbox"; HBoxLayoutConfig item = new HBoxLayoutConfig { Align = HBoxAlign.Middle, DefaultMargins = "0" }; this.LayoutConfig.Add(item); this._treePanelLeft = new TreePanel(); this._treePanelLeft.ID = leftPanelId; //_treePanelLeft.DirectEvents.ItemDblClick.Url = LeftItemDblClickUrl; //this._treePanelLeft.DirectEvents.ItemDblClick.Event += new ComponentDirectEvent.DirectEventHandler(this.LeftItemDblClick_Event); // this._treePanelLeft.SubmitUrl = LeftSubmitUrl;// += new TreePanel.SubmitEventHandler(this._treePanelLeft_Submit); //this._treePanelLeft.DirectEvents.Submit.EventMask.Set("正在添加"); this._treePanelLeft.Title = "可添加"; _treePanelLeft.MultiSelect = EnableBatchAdd; this._treePanelLeft.Height = this.Height; double width = (this.Width.Value - 75.0) / 2.0; this._treePanelLeft.Width = new Unit(width); this._treeStoreLeft = new TreeStore(); //var ajaxProxy = new AjaxProxy(); //ajaxProxy.ActionMethods.Read = HttpMethod.POST; //ajaxProxy.Reader.Add(new JsonReader()); //ajaxProxy.Url = LeftReadUrl; this._treeStoreLeft.Proxy.Add(LeftReadProxy);// += new TreeStoreBase.ReadDataEventHandler(this._treeStoreLeft_ReadData); this._treeModelLeft = new Model(); this.InitTreePanel(this._treePanelLeft, this._treeStoreLeft, this._treeModelLeft); Ext.Net.Panel component = new Ext.Net.Panel { Width = 75, ButtonAlign = Alignment.Center, Layout = "vbox" }; if (!Ext.Net.X.IsAjaxRequest) { component.Border = false; } var buttons = new List <Ext.Net.Button>(); if (EnableBatchAdd) { Ext.Net.Button button = new Ext.Net.Button { Text = "全部添加 >>", TextAlign = ButtonTextAlign.Center }; button.Listeners.Click.Handler = "function(){var nodes=Ext.Array.clone(App." + leftPanelId + ".getRootNode().childNodes);App." + leftPanelId + ".getRootNode().removeAll(false);App." + rightPanelId + ".getRootNode().appendChild(nodes);}"; buttons.Add(button); } Ext.Net.Button btnAdd = new Ext.Net.Button { Text = "添 加 > ", TextAlign = ButtonTextAlign.Center }; buttons.Add(btnAdd); //btnAdd.DirectClickUrl = AddUrl; //btnAdd.DirectClick += new ComponentDirectEvent.DirectEventHandler(this.btnAddSelected_DirectClick); //btnAdd.DirectEvents.Click.EventMask.Set("正在添加"); this._treePanelRight = new TreePanel(); this._treePanelRight.ID = rightPanelId; this._treePanelRight.Title = "已添加"; //_treePanelRight.SubmitUrl = RightSubmitUrl; //this._treePanelRight.DirectEvents.Submit.EventMask.Set("正在移除"); //this._treePanelRight.Submit += new TreePanel.SubmitEventHandler(this._treePanelRight_Submit); _treePanelRight.MultiSelect = EnableBatchRemove; this._treePanelRight.Height = this.Height; _treePanelRight.Listeners.ItemDblClick.Fn = removeNodes; //this._treePanelRight.DirectEvents.ItemDblClick.Url = RightItemDblClick;//.Event += new ComponentDirectEvent.DirectEventHandler(this.RightItemDblClick_Event); this._treePanelRight.Width = new Unit(width); this._treeStoreRight = new TreeStore(); _treeStoreRight.Proxy.Add(RightReadProxy); //this._treeStoreRight.ReadData += new TreeStoreBase.ReadDataEventHandler(this._treeStoreRight_ReadData); this._treeModelRight = new Model(); if (EnableBatchRemove) { Ext.Net.Button btnRemoveAll = new Ext.Net.Button { Text = "<< 全部移除", TextAlign = ButtonTextAlign.Center }; btnRemoveAll.Listeners.Click.Handler = "function(){var nodes=Ext.Array.clone(App." + rightPanelId + ".getRootNode().childNodes);App." + leftPanelId + ".getRootNode().removeAll(false);App." + leftPanelId + ".getRootNode().appendChild(nodes);}"; buttons.Add(btnRemoveAll); } Ext.Net.Button btnRemove = new Ext.Net.Button { Text = "< 移 除", TextAlign = ButtonTextAlign.Center }; buttons.Add(btnRemove); btnAdd.Handler = addNodes; _treePanelLeft.Listeners.ItemDblClick.Fn = addNodes; btnRemove.Listeners.Click.Fn = removeNodes; //btnRemove.DirectClickUrl = RemoveRightUrl;// += new ComponentDirectEvent.DirectEventHandler(this.btnRemoveSelected_DirectClick); //btnRemove.DirectEvents.Click.EventMask.Set("正在移除"); component.Add(buttons.ToArray()); this.Add(component); this.InitTreePanel(this._treePanelRight, this._treeStoreRight, this._treeModelRight); }