您的位置:首页 > 其它

devexpress如何添加一个全选框

2016-01-28 00:00 267 查看
首先拖一个checkbox控件。为了保持风格一致,当然是拖devexpress中的checkbox到gridview的复选框列的标头,把它当做全选框,然后把gridview的复选框列的最大宽度和最小宽度设置为20。这样就免去了绘制全选框的步骤,最后提醒一下,无需对复选框列做任何设置。以下代码就是添加复选框全选功能并取值的步骤。

第一步简单但也最重要就是给绑定到gridview的数据源加上自定义的一列,这是你会发现gridview的复选框列自动变成了复选框

DataTable dt = GetDataSource();
dt.Columns.Add("check", System.Type.GetType("System.Boolean"));
gridControl1.DataSource = dt;

第二步,checkbox控件的事件中为gridview的复选框列循环赋值。这样实现了全选或者全不选的功能

private void checkEdit1_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < gridView1.RowCount; i++)   //循环gridView1的行
{
gridView1.GetDataRow(i)["check"] = (Boolean)checkEdit1.EditValue;   //将选复选框列的值和全选框的值统一
}
}

第三步,取复选框被选中的行的值

private void GetCheck()
{
string value = "";   //变量,存储行的选中值
string strSelected = "";   //想要的结果。可以为任意的类型
for (int i = 0; i < gridView1.RowCount; i++)    //循环gridView1值
{
value = gridView1.GetDataRow(i)["check"].ToString();    //将行的结果复制给变量
if (value == "True")    //判断,如果行为
{
strSelected += gridView1.GetRowCellValue(i, "week");
}
}
MessageBox.Show(strSelected);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: