Devexpress中如何添加一个全选框

      首先拖一个checkbox控件。为了保持风格一致,当然是拖devexpress中的checkbox到gridview的复选框列的标头,把它当做全选框,然后把gridview的复选框列的最大宽度和最小宽度设置为20。这样就免去了绘制全选框的步骤,最后提醒一下,无需对复选框列做任何设置。以下代码就是添加复选框全选功能并取值的步骤。
第一步简单但也最重要就是给绑定到gridview的数据源加上自定义的一列,这是你会发现gridview的复选框列自动变成了复选框
第二步,checkbox控件的事件中为gridview的复选框列循环赋值。这样实现了全选或者全不选的功能
第三步,取复选框被选中的行的值
1.在想gridview绑定的数据源中加入一行数据
DataTable dt = GetDataSource();
dt.Columns.Add("check", System.Type.GetType("System.Boolean"));
gridControl1.DataSource = dt;
2.在gridview的全选框的CheckedChanged的事件中添加以下代码用于实现全选的效果:
private void checkEdit1_CheckedChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < gridView1.RowCount; i++)   //循环gridView1的行
            {
                gridView1.GetDataRow(i)["check"] = (Boolean)checkEdit1.EditValue;   //将选复选框列的值和全选框的值统一
            }
        }
3.获取被选中的行的数据结果
  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);
        }

posted @ 2013-08-06 16:49  上官枫  阅读(1202)  评论(1编辑  收藏  举报