如何在devexpress的gridview 中的设置三列checkbox

如何在devexpress的gridview 中的设置三列checkbox,第1张

为了保持风格一致,当然是拖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 = 0i <gridView1.RowCounti++) //循环gridView1的行{gridView1.GetDataRow(i)["check"] = (Boolean)checkEdit1.EditValue//将选复选框列的值和全选框的值统一}}

3.获取被选中的行的数据结果

private void GetCheck(){string value = ""//变量,存储行的选中值

string strSelected = ""//想要的结果。可以为任意的类型

如果用Add,你要在绑定数据之后添加列。你好可以用insert,如果你知道有几列,比如在5列,由于列编号从0开始,第六列就从5开始,GridView.Columns.insert(5,这里是你要添加的列名)

看你是要插入到最后还是中间了,最后的话有newRow方法,中间的话我所知道的只有改写数据源了,还有进行 *** 作是对gridcontrol内的GridView进行 *** 作。

1. 将NewItemRowPosition属性设置为Top或Bottom,在这样的新行中输入数据后,会自动添加到绑定的数据源中的,如果你希望在按回车时焦点跳至下一列,只需要设置GridView的OptionNavigations->EnterMoveNextColumn为True即可。

2. 当在最后一可见列按回车,数据自动在GridView中显示出来。很多时候我们真的只想单纯的手动添加一行数据,而不想修改数据源再回来绑定。如果你有这种想法。

3. 我已经两次遇到过这样的问题,尝试手动添加,整整两天时间都没有成功。网上说的方法基本都是绑定数据源,偶尔有人说用SetRowCellValue方法,用法如下:gridView1.SetRowCellValue(0, gridView1.Columns[0], "qwe")。

4. 即在0行0列的单元格设为qwe值,看起来多好,可问题是它就是不显示,更改了无数属性都无法生效,真怀疑是不是dev公司把这个方法取消了,如果哪位使用了这个方法成功的添加了数据,那么请通知我一下,万分感谢。

5. 所以如果各位初学者看到了我这篇文章就不要花时间去用上述方式添加了(当然时间多时可以试试),就我得出的结论是gridcontrol添加数据的方法只能去修改数据源。

6. gridcontrol数据源也分两种,datetable和list,datetable想要添加一行数据可以new一个新行,分别设定各列的值,再将新行add到datetable;list则new一个新的实例,设置各字段的值,再add到list即可。详细方法网上太多,不在此赘述。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11436214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存