GridControl如何实现多选和列头全选?
有这么一个方法来完成(只适合winform):
1、 绑定数据的源表添加一列 DataTable dt = ds.Tables[0];
dt.Columns.Add("selected", System.Type.GetType("System.Boolean"));
dt.Columns["selected"].DefaultValue = Boolean.FalseString;
gridControl1.DataSource = dt;
在gridControl的gridview中添加一列Column,类型为checkbox(在该列的属性中的ColumnEdit里面点new可以选择),FieldName设置为以上代码中的“selected”。
2、 //选择全部
private void CheckedAll(object sender,EventArgs e)
{
int columnscount = gridView1.DataRowCount;
for (int i = 0; i < columnscount; i++)
{
gridView1.SetRowCellValue(i, gridView1.Columns["selected"], true);
}
gridControl1.Refresh();
}
3、 列头双击全选
private void gridView1_DoubleClick(object sender, EventArgs e)
{
Point pt = gridControl1.PointToClient(Control.MousePosition);
GridHitInfo info = gridView1.CalcHitInfo(pt);
if(!info.InRowCell&&info.Column.AbsoluteIndex==2)//Index判断用于哪一列的列头
{
CheckedAll(sender,e);
}
}