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