/// <summary> /// 双击导航栏树节点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Treeview_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { string sSourceName = e.Node.Name; if (string.IsNullOrEmpty(sSourceName)) { return; } string sSourceText = e.Node.Text; //检查是否已打开 foreach (TabPage ShowedPage in MainTab.TabPages) { if (ShowedPage.Name.Equals(sSourceName, StringComparison.OrdinalIgnoreCase)) { MainTab.SelectedTab = ShowedPage; return; } } TabPage page = ControlsHelper.NewPage(sSourceText, sSourceName); MainTab.TabPages.Add(page); MainTab.SelectedTab = page; InitForm(sSourceName); }
/// <summary> /// 初始化一个新Page /// </summary> /// <param name="Title">标题</param> /// <param name="Name">key名称</param> /// <param name="Grid">加载的数据</param> public ComponentDataGrid InitializeNewTabPage(string Title, string Name, DataTable Grid) { //如果存在相同名称Page if (TabCtrl.TabPages.ContainsKey(Name)) { ComponentDataGrid finGrid = TabCtrl.TabPages[Name].Controls.OfType <ComponentDataGrid>().FirstOrDefault(); finGrid.DataSource = Grid; return(finGrid); } TabPage page = ControlsHelper.NewPage(Title, Name); TabCtrl.TabPages.Add(page); ComponentToolbar toolstrip = ControlsHelper.NewToolStrip(Name); page.Controls.Add(toolstrip); toolstrip.BringToFront(); DataTable dtColInfo = DBHelper.GetDataTable($@"select * from T_InterfaceColums where fInterfacename='{Name}'"); bool bgenTree = false; if (!_mbMain) { goto NoTreeGeneral; } if (dtColInfo != null && dtColInfo.Rows.Count > 0) { DataRow[] rows = dtColInfo.Select("fInterFaceColIsTree = 1", "fnum"); bgenTree = rows.Count() > 0 ? true : false; if (bgenTree) { Tree = new ComponentTree(); Tree.Dock = DockStyle.Left; page.Controls.Add(Tree); ControlsHelper.CreateTree(Tree, rows, Grid); EventHelper helper = new EventHelper(); helper.BindingTreeNodeOnClick(Tree); Tree.ExpandAll(); Tree.BringToFront(); Splitter splitter = new Splitter(); page.Controls.Add(splitter); splitter.BringToFront(); splitter.Dock = DockStyle.Left; } } //没有树结构 NoTreeGeneral: ComponentDataGrid dgv = ControlsHelper.NewDataGrid(Grid, dtColInfo); dgv.Name = Name; page.Controls.Add(dgv); dgv.Dock = DockStyle.Fill; dgv.BringToFront(); dgv.BindingToolBar(toolstrip); dgv.BindingTabPage(page); toolstrip.BindingDataGrid(dgv); toolstrip.BindingTabPage(page); if (bgenTree) { Tree.BindingDataGrid(dgv); Tree.BindingTabPage(page); dgv.BindingTree(Tree); _mbMain = false; } return(dgv); }