选择完成控件后,可用+号点开ColumnEdit列,改控件的类型是RepositoryItem类型的,其相应的属性和相应的控件属性是类似的
构建数据如下:
- <SPAN style="WHITE-SPACE: pre"> </SPAN> DataTable dt = new DataTable();
- dt.Columns.Add("名称");
- dt.Columns.Add("范围");
- dt.Columns.Add("小区总数");
- dt.Columns.Add("类型");
- dt.Columns.Add("子类型");
- dt.Columns.Add("子片区数量");
- dt.Columns.Add("责任人");
- dt.Columns.Add("编号");
- dt.Columns.Add("选择");
- dt.Rows.Add(new object[] { "片区1", "范围", "5", "线", "普通公路", "5", "qiangfei", "1", "0" });
- dt.Rows.Add(new object[] { "片区2", "范围", "5", "线", "普通公路", "5", "qiangfei", "2", "0" });
- dt.Rows.Add(new object[] { "片区3", "范围", "5", "线", "普通公路", "5", "qiangfei", "3", "1" });
- dt.Rows.Add(new object[] { "片区4", "范围", "5", "线", "普通公路", "5", "qiangfei", "4", "1" });
- dt.Rows.Add(new object[] { "片区5", "范围", "5", "线", "普通公路", "5", "qiangfei", "5", "0" });
- dt.Rows.Add(new object[] { "片区6", "范围", "5", "线", "普通公路", "5", "qiangfei", "6", "1" });
- dt.Rows.Add(new object[] { "片区7", "范围", "5", "线", "普通公路", "5", "qiangfei", "7", "1" });
- dt.Rows.Add(new object[] { "片区8", "范围", "5", "线", "普通公路", "5", "qiangfei", "8", "0" });
- dt.Rows.Add(new object[] { "片区9", "范围", "5", "线", "普通公路", "5", "qiangfei", "9", "0" });
- dt.Rows.Add(new object[] { "片区10", "范围", "5", "线", "普通公路", "5", "qiangfei", "10", "1" });
- dt.Rows.Add(new object[] { "片区11", "范围", "5", "线", "普通公路", "5", "qiangfei", "11", "1" });
- dt.Rows.Add(new object[] { "片区12", "范围", "5", "线", "普通公路", "5", "qiangfei", "12", "0" });
- gridControl1.DataSource = dt;
DataTable dt = new DataTable(); dt.Columns.Add("名称"); dt.Columns.Add("范围"); dt.Columns.Add("小区总数"); dt.Columns.Add("类型"); dt.Columns.Add("子类型"); dt.Columns.Add("子片区数量"); dt.Columns.Add("责任人"); dt.Columns.Add("编号"); dt.Columns.Add("选择"); dt.Rows.Add(new object[] { "片区1", "范围", "5", "线", "普通公路", "5", "qiangfei", "1", "0" }); dt.Rows.Add(new object[] { "片区2", "范围", "5", "线", "普通公路", "5", "qiangfei", "2", "0" }); dt.Rows.Add(new object[] { "片区3", "范围", "5", "线", "普通公路", "5", "qiangfei", "3", "1" }); dt.Rows.Add(new object[] { "片区4", "范围", "5", "线", "普通公路", "5", "qiangfei", "4", "1" }); dt.Rows.Add(new object[] { "片区5", "范围", "5", "线", "普通公路", "5", "qiangfei", "5", "0" }); dt.Rows.Add(new object[] { "片区6", "范围", "5", "线", "普通公路", "5", "qiangfei", "6", "1" }); dt.Rows.Add(new object[] { "片区7", "范围", "5", "线", "普通公路", "5", "qiangfei", "7", "1" }); dt.Rows.Add(new object[] { "片区8", "范围", "5", "线", "普通公路", "5", "qiangfei", "8", "0" }); dt.Rows.Add(new object[] { "片区9", "范围", "5", "线", "普通公路", "5", "qiangfei", "9", "0" }); dt.Rows.Add(new object[] { "片区10", "范围", "5", "线", "普通公路", "5", "qiangfei", "10", "1" }); dt.Rows.Add(new object[] { "片区11", "范围", "5", "线", "普通公路", "5", "qiangfei", "11", "1" }); dt.Rows.Add(new object[] { "片区12", "范围", "5", "线", "普通公路", "5", "qiangfei", "12", "0" }); gridControl1.DataSource = dt;注意:我们表格中【选择】一列的值是字符串型,那么表格中设置的类型也必须是字符串型。类型必须统一。
结果呈现:
必要设置:【编辑】属性
我们如果添加了选择框列,肯定要对选择列可用进行点击选中的操作,所以我们必须先打开表格的可编辑状态。
但是这样每一列都可以编辑,所以要关闭其他列的可编辑状态。
这样我们就可以操作选择列,而其他列不可编辑。
由此我们可以看出gridview上的Editable属性控制大于列的AllowEdit属性。
进阶:
当我们点击某一行的选择列checkbox控件是,其绑定的值也会发生变化,联动其datatable中的值也会发生变化,即选中时,datatable对应的值会变成1;未选中时,其值为0。那么我们可以通过如下代码获取选中的所有信息;
DataRow[] drs = dt.Select("选择='1'");