[DevExpress]GridControl 同步列头checkbox与列中checkbox状态
关键代码:
/// <summary> /// 同步列头checkbox与列中checkbox状态 /// </summary> /// <param name="view">GridView</param> /// <param name="fieldeName">需要绘制Checkbox的列名</param> /// <param name="e">MouseEventArgs</param> public static void SyncCheckStatus(this GridView view, string fieldeName, MouseEventArgs e) { /*说明: *在MouseDown事件中使用 *参考:https://www.devexpress.com/Support/Center/Question/Details/Q354489 *eg: *private void gvLampConfig_MouseDown(object sender, MouseEventArgs e) *{ *GridView _view = sender as GridView; *_view.SyncCheckStatus(gcCheckFieldName, e); *} */ if (e.Clicks == 1 && e.Button == MouseButtons.Left) { view.ClearSorting(); view.PostEditor(); GridHitInfo _info; Point _pt = view.GridControl.PointToClient(Control.MousePosition); _info = view.CalcHitInfo(_pt); if (_info.InColumn && _info.Column.FieldName.Equals(fieldeName)) { if (getCheckedCount(view, fieldeName) == view.DataRowCount) UnChekAll(view, fieldeName); else CheckAll(view, fieldeName); } } } private static int getCheckedCount(GridView view, string filedName) { int count = 0; for (int i = 0; i < view.DataRowCount; i++) { object _cellValue = view.GetRowCellValue(i, view.Columns[filedName]); //if (_cellValue != null && !(_cellValue is DBNull)) if (_cellValue == null) continue; if (string.IsNullOrEmpty(_cellValue.ToString().Trim())) continue; bool _checkStatus = false; if (bool.TryParse(_cellValue.ToString(), out _checkStatus)) { //if ((bool)_cellValue) if (_checkStatus) count++; } } return count; } private static void CheckAll(GridView view, string fieldName) { for (int i = 0; i < view.DataRowCount; i++) { view.SetRowCellValue(i, view.Columns[fieldName], true); } } private static void UnChekAll(GridView view, string fieldName) { for (int i = 0; i < view.DataRowCount; i++) { view.SetRowCellValue(i, view.Columns[fieldName], false); } }
代码使用:
private void gvLampConfig_MouseDown(object sender, MouseEventArgs e) { GridView _view = sender as GridView; _view.SyncCheckStatus(gcCheckFieldName, e); }
代码效果:
[DevExpress]GridControl 同步列头checkbox与列中checkbox状态的更多相关文章
- WPF DataGrid点击列头选择全列并具有背景色
完成这个操作,主要是XAML的代码. 主要思路是通过绑定多路数据,在多路转换器中返回布尔值,在通过数据触发器来设置被选择的全列的背景色. XAML页面主要代码 首先定义DataGridCell < ...
- easyui动态生成双列头
实习时老大交给任务,让我做这样一个效果,选择日期并点击查询时,动态生成列头,下一列要求对应日期的星期. 效果图: 下面贴出查询的单击函数: //查询按钮 function queryByDate(){ ...
- PHP:数字转Excel列头
转自我的个人博客:阔野飞花 http://www.rexcao.net/archives/169 前段时间升级一个项目的Excel导出功能,这次的列数大概有60多条,在处理过程中发现一个问题,原先做好 ...
- DevExpress GridControl使用(转)
DevExpress GridControl使用 (一)原汁原味的表格展示 Dev控件中的表格控件GridControl控件非常强大.不过,一些细枝末节的地方有时候用起来不好找挺讨厌的.使用过程中,多 ...
- [DevExpress]GridControl 列头绘制Checkbox
关键代码: /// <summary> /// 为列头绘制CheckBox /// </summary> /// <param name="view" ...
- 实现在DevExpress.XtraGrid.GridControl的列头绘制复选框以实现全选的功能
首先新建一个Win Form测试项目,拖一个GridControl控件到窗体上. public partial class Form1 : Form { public Form1() { Initia ...
- gridcontrol的列头右键菜单问题
Dev控件GridControl设置了一个右键菜单 this.gridControl1.ContextMenu = contextMenu2; 而GridControl在运行排序的时候,即 gridv ...
- Winform DataGridView添加列头checkbox
using System; using System.Data; using System.Drawing; using System.Windows.Forms; using Yanwen.Logi ...
- dev gridControl 自定义绘制列头颜色
1.添加事件CustomDrawColumnHeader private void gvw1_CustomDrawColumnHeader(object sender, DevExpress.Xtra ...
随机推荐
- 15分钟学会git基本的操作命令
http://hao.jobbole.com/try-git/ 假如你现在新创建了一个项目,想把它提交到github上面? 假设你创建好了一个项目,并切换到项目的根目录下面: $ git status ...
- MYSQL内存--------启动mysql缓存机制,实现命中率100% 转
虽然这个标题夸张得过了头,但此文很完整,值得学习.转自 http://www.yy520.net/read.php?278 myql优化,启动MySQL缓存机制,实现命中率100% 配置你的mysql ...
- mysql 支持emoji
1.修改my.cnf [client] default-character-set = utf8mb4 [mysqld] collation-server = utf8mb4_unicode_ci c ...
- C++_快速排序(纯C版本)
//比较大小 static int compare_int(const void *int1,const void *int2) { if(*(const int*)int1>*(const i ...
- php中var_export与var_dump的区别分析
一 var_dump (PHP 3 >= 3.0.5, PHP 4, PHP 5) var_dump -- 打印变量的相关信息 描述 void var_dump ( mixed expressi ...
- JQuery EasyUI 之 DataGrid
1.动态创建datagrid 在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid.代码如下: (1)页面上添加div标签 <div id=&qu ...
- openshift django目录结果
blog├── README.md├── requirements.txt├── setup.py├── static├── wsgi│ ├── application│ ├── db.sql ...
- <Think Complexity> 用字典实现图
今天在图书馆闲逛的时候偶然看见<Think Complexity>(复杂性思考)这本书,下午看了一会儿觉得很有意思.本书第二章讲的是用Python实现的图,特别写篇博客记录. 首先,图 ...
- Scala中的类和对象
类的定义 使用class定义 类的字段 在类中使用var,val定义字段 类的方法 scala中,使用var定义字段默认提供setter和getter方法对应名称为 value_= 和value /* ...
- Netty学习链接
Netty实战精髓请参见:https://waylau.gitbooks.io/essential-netty-in-action/content/GETTING%20STARTED/Introduc ...