C# DevExpress GridControl中BandedGridView表格使用
阿新 • • 發佈:2022-04-09
1.設計器方式建立
1.點選“Change view”>>然後在選中“Convert to”選項>>最後選中點選“BandedGridView”。
具體操作如下圖所示:
2.點選上圖的“Run Designer”設計檢視按鈕後,我們先去新增列,選中“Columns”列。
具體操作如下圖所示:
3.點選“Grid Designer Bands”設計檢視中的“Bands”給列加一個大列把上面我們新增列分配到具體的大列中
具體操作如下圖所示:
4.設計和執行效果展示:
2.程式碼建立
1.具體實現程式碼如下:
1 //引用:using DevExpress.XtraGrid.Views.BandedGrid; 2 private GridBand gridBand1; 3 private GridBand gridBand2; 4 5 //建立複合表頭 分別添加了“基本資訊”和“學校資訊”這兩個複合表頭 6 private void CreateGridBand() 7 { 8 gridBand1 = new建立複合表頭GridBand();//例項化“GridBand” 9 gridBand1.AppearanceHeader.Options.UseTextOptions = true;//允許更改列的“外觀” 10 gridBand1.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;//讓列居中顯示 11 gridBand1.Caption = "基本資訊";//列的顯示名稱 12 gridBand1.Name = "gridBand1";//列名稱 13 gridBand1.OptionsBand.FixedWidth = true;//固定列的寬度 14 gridBand1.VisibleIndex = 0;//下標 15 gridBand1.Width = 112;//寬度 16 this.bandedGridView1.Bands.Add(gridBand1);//把建立好的“GridBand”點選到檢視中 17 18 gridBand2 = new GridBand(); 19 gridBand2.AppearanceHeader.Options.UseTextOptions = true; 20 gridBand2.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; 21 gridBand2.Caption = "學校資訊"; 22 gridBand2.Name = "gridBand2"; 23 gridBand2.OptionsBand.FixedWidth = true; 24 gridBand2.VisibleIndex = 1; 25 gridBand2.Width = 93; 26 this.bandedGridView1.Bands.Add(gridBand2); 27 }
1 //建立列並把列分配到指定的“基本資訊”和“學校資訊”這兩個複合表頭下 2 private void CreateColumn() 3 { 4 /* 5 * 先建立列,在設定列中的屬性是因為這樣才能控制列的寬度。 6 * 如果例項化建立列並同時設定列的屬性,那麼列中設定的寬度就不能正常顯示 7 */ 8 #region 例項化並建立列 9 BandedGridColumn name = new BandedGridColumn(); 10 this.bandedGridView1.Columns.Add(name); 11 BandedGridColumn age = new BandedGridColumn(); 12 this.bandedGridView1.Columns.Add(age); 13 BandedGridColumn gender = new BandedGridColumn(); 14 this.bandedGridView1.Columns.Add(gender); 15 BandedGridColumn school = new BandedGridColumn(); 16 this.bandedGridView1.Columns.Add(school); 17 BandedGridColumn classs = new BandedGridColumn(); 18 this.bandedGridView1.Columns.Add(classs); 19 #endregion 20 21 #region 設定列的屬性 22 name.Caption = " 姓名";//顯示名稱 23 name.FieldName = "name";//資料來源名稱 24 name.MinWidth = 50;//最小寬度 25 name.Visible = true;//是否顯示 26 name.OptionsColumn.AllowEdit = false;// 是否能編輯單元格 27 this.gridBand1.Columns.Add(name);//給指定的“GridBand”("基本資訊")新增列 28 29 age.Caption = "年齡"; 30 age.FieldName = "age"; 31 age.MinWidth = 45; 32 age.Visible = true; 33 this.gridBand1.Columns.Add(age); 34 35 gender.Caption = "性別"; 36 gender.FieldName = "gender"; 37 gender.MinWidth = 45; 38 gender.Visible = true; 39 this.gridBand1.Columns.Add(gender); 40 41 school.Caption = "學校"; 42 school.FieldName = "school"; 43 school.MinWidth = 100; 44 school.Visible = true; 45 this.gridBand2.Columns.Add(school); 46 47 classs.Caption = "班級"; 48 classs.FieldName = "classs"; 49 classs.MinWidth = 80; 50 classs.Visible = true; 51 this.gridBand2.Columns.Add(classs); 52 #endregion 53 }建立列
1 //建立DataTable並賦值 2 private void CreateData() 3 { 4 DataTable dt = new DataTable(); 5 dt.Columns.Add("name", Type.GetType("System.String")); 6 dt.Columns.Add("age", Type.GetType("System.String")); 7 dt.Columns.Add("gender", Type.GetType("System.String")); 8 dt.Columns.Add("school", Type.GetType("System.String")); 9 dt.Columns.Add("classs", Type.GetType("System.String")); 10 DataRow row = dt.NewRow(); 11 row["name"] = "張三"; 12 row["age"] = "18"; 13 row["gender"] = "男"; 14 row["school"] = "理工大學"; 15 row["classs"] = "天才2021級"; 16 dt.Rows.InsertAt(row, 0); 17 gridControl1.DataSource = dt;//表格獲取資料來源 18 }“gridControl1”表格獲取資料來源
2.效果圖如下:
搜尋
複製