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

大名鼎鼎的DEV啊……弄了一个gridControl结果不知道如何加选择列,还有表头全选上网搜了搜终于搜到解决方案……结果解决办法麻烦的要死……这么一个挺基础的需求,DE... 大名鼎鼎的DEV啊……弄了一个gridControl结果不知道如何加选择列,还有表头全选上网搜了搜终于搜到解决方案……结果解决办法麻烦的要死…… 这么一个挺基础的需求,DEV不提供解决方案?这没道理吧?怎么办啊……就差这一个功能了……换控件不划算啊 展开
 我来答
严介
推荐于2018-03-13 · TA获得超过493个赞
知道小有建树答主
回答量:154
采纳率:66%
帮助的人:95.3万
展开全部

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

            }

        }

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式