GridControl如何实现多选和列头全选?

2020-08-29 社会 88阅读

有这么一个方法来完成(只适合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);

}

}

注:是手打,如有错误请回复指出,如对您有帮助请点赞,谢谢。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com