GridControl 添加全选列
这里通过List对象绑定GridControl,且不用在GirdControl界面中添加任何列,实现CheckBox列的方法
1、列表中出现CheckBox列
非常简单,在绑定的List实体中,增加一列bool型的属性,如public bool 选择 { set; get; },直接绑定到gird控件就能出现Check列,但一定要给此属性赋初值false或true。
2、表头出现全选框,控制表格所有列checkbox状态,比较复杂
a. 从工具箱中拖出一个dev checkEdit控件(vs自带的checkbox也行,只是风格不统一),放置在gdv控件的表头部分。
如果工具箱中没有找到这个控件,右键单击工具箱某条目,点击“选择项”,弹出“选择工具箱项”,在.net Fromwork组件中,通过筛选器选择checkedit,一定注意版本,将其打钩,确定就能将checkEidt添加进工具箱。
chedkedit放置到表头上后,位置可能无法调整,将其achor调整为top,right后就可用方向键微调位置了。再改回top,left也没问题。
b.为全选控件添加事件
private void chkCut_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < gdvPassbyArl.RowCount; i++)
{
//就用这条语句虽然能直接将界面上的打上勾,但是如果该列正好是排序状态下,行顺序会立即调整,导致此循环混乱
//所以改用下面两句取出实体,给实体赋值。最后再gdcPassbyArl.RefreshDataSource()更新界面。
//gdvPassbyArl.SetRowCellValue(i, "选择", checkEdit1.Checked);
AirlineBasic arl = gdvPassbyArl.GetRow(i) as AirlineBasic;
arl.选择 = chkCut.Checked;
}
gdcPassbyArl.RefreshDataSource();
}
c. 将实体中bool类型列的名称隐藏,同时,固定其宽度
gdvPassbyArl.Columns["选择"].OptionsColumn.ShowCaption = false;
gdvPassbyArl.Columns["选择"].MaxWidth = 50;
gdvPassbyArl.Columns["选择"].MinWidth = 50;
完成。
此方法不足之处:
1、此方法直接绑定List实体类,没有在gird界面中添加对应列,因此无法影响每一行的check事件,如果有此需求,只能在grid界面中为实体添加每一列filedname,对bool属性添加列后,选择ColumnEdit为new...CheckEdit。然后再到in-palce Editor中设置该CheckEdit的对应事件。
2、列表中checkBox列只能居中,没有找到方法实现Near或Far,因此标题栏上的checBox只能目测调整位置,与表中的checkbox对齐
3、此方法不能为check列设置标题文字,原因为上面2,设置文字标题后无法对齐
GridControl 添加全选列的更多相关文章
- flexigrid扩展(添加全选,格式化表单)
1.关于flexigrid的属性这里不多说,百度一大把. 这里主要说一个参数process process参数:编写对某一列进行自定义处理的函数 function 方法名(tddiv,pid){}// ...
- 实现DataGridView和DevExpress.GridControl表头全选功能
1)DevExpress控件的GridView的实现多选操作 先讲DevExpress控件的GridView的实现,要实现的功能基本上是处理单击全选操作.重新绘制表头等操作,首先在加载第一步实现相关的 ...
- C#总结(三)DataGridView增加全选列
最近的一个winform的项目中,碰到datagridview控件的第一列添加全选的功能,通常这个功能,有两种实现方式:1. 为控件添加DataGridViewCheckBoxColumn来实现,但是 ...
- DataGridView增加全选列
最近的一个winform的项目中,碰到datagridview控件的第一列添加全选的功能,通常这个功能,有两种实现方式:1. 为控件添加DataGridViewCheckBoxColumn来实现,但是 ...
- Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群
Redis总结(五)缓存雪崩和缓存穿透等问题 前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhon ...
- ASP.NET给DataGrid,Repeater等添加全选批量删除等功能
很多情况下,在管理或者查看列表的时候我们需要很需要“全选”这个功能,这在ASP.NET中是非常容易实现的,下面我就将演示一点小代码实现这一功能. 实现全选的还是js的一个小函数: [code] ...
- winform datagridview在添加全选checkbox时提示:不能设置 selected 或 selected 既不是表 Table 的 DataColumn 也不是 DataRelation。
在项目中,需要多选功能,于是在datagridview添加了一列DataGridViewCheckBoxColumn 在给datagridview绑定完数据集之后,对全选进行操作的时候,发现总报错,报 ...
- HTML5定制全选列头
随着HTML5产品分支的不断深入使用,HTML5的需求也是越来越多,表格组件的使用也不例外,什么排序,分页,自动列宽等.最近有客户提出了如果让表格的列头加上全选的功能.细细分析其实就是两部分,表格的b ...
- GridControl表头全选操作实现之最优方法
突然发现很久没有写博客了. 昨天整了个Windows Live Writer 就为了以后好好写写博客. 所以,开始咯. 为了积累,也为了分享. 之前在博客园中看到一篇文章:<Winform分页控 ...
随机推荐
- 4. 什么是应用服务器? - JavaEE基础系列
本文是JavaEE基础系列的第四节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 什么是JSR参考实现? - JavaEE基础系列 上一节介绍了什么是JSR参考 ...
- python pass关键字神奇吗
参考文献:http://blog.sina.com.cn/s/blog_76e94d210100vz3e.html 1.空语句 do nothing2.保证格式完整3.保证语义完整 好吧!它什么也没干 ...
- [转]MongoDB c++驱动安装与使用
安装 获取源码:git clone https://github.com/mongodb/mongo-cxx-driver.git,解压 安装编译工具scons:yum install -y scon ...
- sockaddr和sockaddr_in的区别
struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址. 在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体. 网络中的地址包含3个方 ...
- 推荐sinaapp谷歌搜索引擎,firefox自定义搜索引擎
满园春色关不住,从此不用再FQ. 一直都在用谷歌,也一直都被和谐. 直到在迅影实习,知道了这个网站:http://goog.sinaapp.com/ 下面说说在firefox里面添加搜索引擎 首先打开 ...
- 每天一个linux命令:【转载】more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- Codeforces 559C Gerald and Giant Chess【组合数学】【DP】
LINK 题目大意 有一个wxh的网格,上面有n个黑点,问你从(1,1)走到(w,h)不经过任何黑点的方案数 思路 考虑容斥 先把所有黑点按照x值进行排序方便计算 \(dp_{i}\)表示从起点走到第 ...
- 20179223《Linux内核原理与解析》第六周学习笔记
视频知识学习 给MenuOS增加time和time-asm命令 1.更新menu代码到最新版 2.再main()函数中增加MenuConfig 3.增加对应的Time函数和TimeAsm函数(这里的函 ...
- JavaScript中字符串截取函数slice()、substring()、substr()
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...
- {vlFeat}{matlab}{VS2010}{编译配置}
运行程序需要vlfeat与mex等在matlab与vs2010中配置,碰到了不少困难,下面给出解决方案 1.下载vlfeat,但是vlfeat目录中并没有编译好的mex文件,需要在vs2010中编译 ...