GridControl详解(九)表格中的控件

选择完成控件后,可用+号点开ColumnEdit列,改控件的类型是RepositoryItem类型的,其相应的属性和相应的控件属性是类似的

构建数据如下:

            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'");

原文地址:https://www.cnblogs.com/wordgao/p/4573415.html