WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)
1 前台代码 2 3 <DataGrid.Columns> 4 <DataGridCheckBoxColumn Header="选择" Binding="{Binding Path=RUID}" x:Name="cRUID"></DataGridCheckBoxColumn> 5 <DataGridTextColumn Header="结算类型" Binding="{Binding Path=CTYP}" x:Name="cCTYP" IsReadOnly="True" > </DataGridTextColumn> 6 7 </DataGrid.Columns> 8 9 后台:c#代码 10 11 : 12 13 /// 14 /// 全选 15 /// 16 /// 17 /// 18 private void btnQuanXuan_Click(object sender, RoutedEventArgs e) 19 { 20 for (int i = 0; i < this.dgList.Items.Count; i++) 21 { 22 var cntr = dgList.ItemContainerGenerator.ContainerFromIndex(i); 23 DataGridRow ObjROw = (DataGridRow)cntr; 24 if (ObjROw != null) 25 { 26 FrameworkElement objElement = dgList.Columns[0].GetCellContent(ObjROw); 27 if (objElement != null) 28 { 29 //if (objElement.GetType().ToString().EndsWith("cRUID")) 30 //{ 31 System.Windows.Controls.CheckBox objChk = (System.Windows.Controls.CheckBox)objElement; 32 if (objChk.IsChecked == false) 33 { 34 objChk.IsChecked = true; 35 } 36 //} 37 } 38 } 39 } 40 } 41 42 43 44 /// <summary> 45 /// 全否 46 /// </summary> 47 /// <param name="sender"></param> 48 /// <param name="e"></param> 49 private void btnQuanFou_Click(object sender, RoutedEventArgs e) 50 { 51 for (int i = 0; i < this.dgList.Items.Count; i++) 52 { 53 var cntr = dgList.ItemContainerGenerator.ContainerFromIndex(i); 54 DataGridRow ObjROw = (DataGridRow)cntr; 55 if (ObjROw != null) 56 { 57 FrameworkElement objElement = dgList.Columns[0].GetCellContent(ObjROw); 58 if (objElement != null) 59 { 60 //if (objElement.GetType().ToString().EndsWith("cRUID")) 61 //{ 62 System.Windows.Controls.CheckBox objChk = (System.Windows.Controls.CheckBox)objElement; 63 if (objChk.IsChecked == true) 64 { 65 objChk.IsChecked = false; 66 } 67 //} 68 } 69 } 70 } 71 } 72 /// <summary> 73 /// 反选 74 /// </summary> 75 /// <param name="sender"></param> 76 /// <param name="e"></param> 77 private void btnFanXuan_Click(object sender, RoutedEventArgs e) 78 { 79 for (int i = 0; i < this.dgList.Items.Count; i++) 80 { 81 var cntr = dgList.ItemContainerGenerator.ContainerFromIndex(i); 82 DataGridRow ObjROw = (DataGridRow)cntr; 83 if (ObjROw != null) 84 { 85 FrameworkElement objElement = dgList.Columns[0].GetCellContent(ObjROw); 86 if (objElement != null) 87 { 88 //if (objElement.GetType().ToString().EndsWith("cRUID")) 89 //{ 90 System.Windows.Controls.CheckBox objChk = (System.Windows.Controls.CheckBox)objElement; 91 if (objChk.IsChecked == false) 92 { 93 objChk.IsChecked = true; 94 } 95 else 96 { 97 objChk.IsChecked = false; 98 } 99 //} 100 } 101 } 102 } 103 } 104 105 106 107 使用模板列全选: 108 109 前台代码: 110 111 <DataGridCheckBoxColumn Binding="{Binding Path=RUID,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}}}" x:Name="cRUID"> 112 <DataGridCheckBoxColumn.HeaderTemplate> 113 <DataTemplate> 114 <CheckBox x:Name="ckbSelectedAll" Content="全选" Checked="ckbSelectedAll_Checked" Unchecked="ckbSelectedAll_Unchecked" IsChecked="False" /> 115 </DataTemplate> 116 </DataGridCheckBoxColumn.HeaderTemplate> 117 </DataGridCheckBoxColumn> 118 119 120 后台 c#代码 121 122 : 123 124 /// 125 /// 全选 126 /// 127 /// 128 /// 129 private void ckbSelectedAll_Checked(object sender, RoutedEventArgs e) 130 { 131 this.dgList.SelectAll(); 132 } 133 134 /// 135 /// 全不选 136 /// 137 /// 138 /// 139 private void ckbSelectedAll_Unchecked(object sender, RoutedEventArgs e) 140 { 141 this.dgList.UnselectAll(); 142 }
转载于:https://www.cnblogs.com/lonelyxmas/p/10760618.html
WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)相关推荐
- 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH
在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH 原文 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不 ...
- easyui中checkbox全选全不选的时不处理最后一行的实现
有这样一个需求, easyui加载datagrid后, 最后一行为统计行, 在进行全选全不选的时候会将统计行也一并选择, 这跟业务不相符, 琢磨了半天后终于找到了解决方案 1.首先记录下统计功能的实现 ...
- js基础3 dom基础/绑定获取事件/图片切换练习/文档加载/全选全不选/dom的其他属性/dom的增加/添加删除练习
dom基础 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8 ...
- 【前端2】js:原始类型,运算符,调试,页面加载,轮播图,Bom(对象,时钟),Dom(全选全不选,省市级联,隔行/触摸换色,表单校验)
文章目录 1.js两种引入:js最终要引入到html在浏览器中运行 2.js五大原始类型:undefined 3.js的运算符和流程控制:js不支持单&和单|性能低 4.案例_99乘法表:So ...
- VUEJS-checkbox全选全不选
全选&全不选 html: <div class="msg-position c-bg-wt"><p class="msg-position-p& ...
- JavaScript—有关如何实现全选/全不选、检查是否选中了复选框。
一.Javacript设置全选的方法:首先创建一个HTML示例文件:然后添加script标签并创建js代码:最后通过循环遍历每个checkbox对象,将其checked属性设置为true实现全选功能即 ...
- 全选 单选和反选的实现
大家早上好,新的一天又开始咯,继续学习啊,其实最近我发现了一张图特别好玩,如下: 哈哈,就是这张,但是我想说的是,革命尚未成功啊,还得继续修炼啊,好了,闲篇扯到这里,我们今天先来看一下,风靡各大电商网 ...
- Vue+Vant制作单选全选全不选以及删除按钮van-checkbox
在官网上看到vant组件特别好用,就尝试使用checkbox制作单选全选,由于是下午头脑不清楚所以没想通思路,导致了一部分的错误,经过我的老大指点,才想通如此简单的思路,就是都亮和都不亮的区别. 全选 ...
- JavaScript实现复选框的全选/全不选和批量选择
实现数据的批量选择以及全选/全部选功能的效果如下所示: 代码如下: <a class="btn btn-default" id="search_like" ...
- jQuery实现checkBox全选全取消
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
最新文章
- 小米Redmi 5G旗舰 K30 Pro,最大亮点:怼华为荣耀
- python常用的字串格式化选项
- Spring Security + WebSocket——@MessageMapping中Authentication为NULL解决方案之一
- c语言判断闰年_大一C语言错题
- Android WebView重定向问题,Android WebView 重定向问题
- 2019.9.17最小生成树知识点回顾
- CSS3响应式bootstrap模板
- IdentityServer4【Topic】之定义资源
- android classloader双亲托付模式
- java合并pdf 追加页数_使用IText API将页码添加到具有不同页面大小的合并PDF
- 中国牛市还会来吗,中国牛市啥时候到?
- 《Adobe Premiere Pro CS4经典教程》——1.7 Adobe Premiere Pro工作区
- Android平台开发指导(Android Porting Guide)
- 电信增值业务学习笔记13——增值业务管理
- 新时代区块链研究院 | 区块链人才需求激增200%,薪资已赶超互联网!
- myeclipse 修改项目名Tomcat启动项目报错java.lang.IllegalArgumentException: Can't convert argument: null...
- Linux shell编程自动化运维,三剑客之awk原理,语法,内部变量,格式化输出,模式和动作 详细解析
- 【虚拟现实】Unity3D+VR的实现
- B S架构 服务器虚拟化,基于KVM的B/S架构虚拟化管理系统
- 协议-ISIS基础知识
热门文章
- C++ int与string互转换
- Scala之flatMap操作
- CRT中的sftp上传文件出现中文路乱码
- Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
- CentOS/Ubuntu 14.10 安装 phpstorm
- 微信小游戏 UserInfoButton 获取用户信息
- Navicat Premium 15 逆向表到模型
- mysql56允许远程连接_mysql允许远程连接的方法
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_10-freemarker静态化测试-基于模板文件静态化...
- 基于决策树的保险案列