Dev Express中GridControl控件显示多列checkBox

首先选中需要嵌入CheckBox的列然后设置列的显示:

 

 将他的ColumnEdit设置为CheckEdit

因为我的显示效果是这样的:

 

 所以我在设置数据网格控件选中点击的时候只能让其选中单元格,这个很简单就不贴图了。

然后因为我数据库使用的是Oracle,Oracle数据库中没有bool,所以我数据库中字段采用的是string类型存的“是”与“否”但是DevExpress中的界面存的是bool类型我们需要绑定一下值:

 

 这里面有个ValueChecked和ValueUnchecked属性是指当DataTable中这一列绑定的是“是”的时候,此时这个checkBox选中,而当DataTable中的这一列绑定的是“否”的时候此时这个checkBox不选中.

在完成上述操作后我们需要注册一下GridControl里的行点击事件:

     private void gridView4_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            var c_idx = e.Column.AbsoluteIndex;
            var r_idx = e.RowHandle;

            var dt = this.gridControl6.DataSource as DataTable;

            var cellVal = dt.Rows[r_idx][c_idx + 1] as String;

            if(c_idx>=1)
            dt.Rows[r_idx][c_idx + 1] = (cellVal == "" ? "" : "");
        }

此时在一个GridControl控件中就可以实现多列checkBox的选中了。

 

posted @ 2021-01-26 10:34  苏州の酱醋茶  阅读(453)  评论(0编辑  收藏  举报