devexpress如何添加一个全选框

首先拖一个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);
        }




你可能感兴趣的:(devexpress如何添加一个全选框)