首先选中需要嵌入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的选中了。