C# DevExpress GridControl中BandedGridView表格使用

 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.效果图如下:

posted @ 2022-04-09 16:31  老猿-孜孜不倦  阅读(2299)  评论(0编辑  收藏  举报