devexpress如何添加一个全选框

来源:互联网 发布:历年双十一数据统计 编辑:程序博客网 时间:2024/05/01 17:15
首先拖一个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);        }




原创粉丝点击