WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)
原文: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         }

posted on 2019-04-24 09:47 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10760618.html

WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)相关推荐

  1. 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH

    在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH 原文 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不 ...

  2. easyui中checkbox全选全不选的时不处理最后一行的实现

    有这样一个需求, easyui加载datagrid后, 最后一行为统计行, 在进行全选全不选的时候会将统计行也一并选择, 这跟业务不相符, 琢磨了半天后终于找到了解决方案 1.首先记录下统计功能的实现 ...

  3. js基础3 dom基础/绑定获取事件/图片切换练习/文档加载/全选全不选/dom的其他属性/dom的增加/添加删除练习

    dom基础 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8 ...

  4. 【前端2】js:原始类型,运算符,调试,页面加载,轮播图,Bom(对象,时钟),Dom(全选全不选,省市级联,隔行/触摸换色,表单校验)

    文章目录 1.js两种引入:js最终要引入到html在浏览器中运行 2.js五大原始类型:undefined 3.js的运算符和流程控制:js不支持单&和单|性能低 4.案例_99乘法表:So ...

  5. VUEJS-checkbox全选全不选

    全选&全不选 html: <div class="msg-position c-bg-wt"><p class="msg-position-p& ...

  6. JavaScript—有关如何实现全选/全不选、检查是否选中了复选框。

    一.Javacript设置全选的方法:首先创建一个HTML示例文件:然后添加script标签并创建js代码:最后通过循环遍历每个checkbox对象,将其checked属性设置为true实现全选功能即 ...

  7. 全选 单选和反选的实现

    大家早上好,新的一天又开始咯,继续学习啊,其实最近我发现了一张图特别好玩,如下: 哈哈,就是这张,但是我想说的是,革命尚未成功啊,还得继续修炼啊,好了,闲篇扯到这里,我们今天先来看一下,风靡各大电商网 ...

  8. Vue+Vant制作单选全选全不选以及删除按钮van-checkbox

    在官网上看到vant组件特别好用,就尝试使用checkbox制作单选全选,由于是下午头脑不清楚所以没想通思路,导致了一部分的错误,经过我的老大指点,才想通如此简单的思路,就是都亮和都不亮的区别. 全选 ...

  9. JavaScript实现复选框的全选/全不选和批量选择

    实现数据的批量选择以及全选/全部选功能的效果如下所示: 代码如下: <a class="btn btn-default" id="search_like" ...

  10. jQuery实现checkBox全选全取消

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

最新文章

  1. 小米Redmi 5G旗舰 K30 Pro,最大亮点:怼华为荣耀
  2. python常用的字串格式化选项
  3. Spring Security + WebSocket——@MessageMapping中Authentication为NULL解决方案之一
  4. c语言判断闰年_大一C语言错题
  5. Android WebView重定向问题,Android WebView 重定向问题
  6. 2019.9.17最小生成树知识点回顾
  7. CSS3响应式bootstrap模板
  8. IdentityServer4【Topic】之定义资源
  9. android classloader双亲托付模式
  10. java合并pdf 追加页数_使用IText API将页码添加到具有不同页面大小的合并PDF
  11. 中国牛市还会来吗,中国牛市啥时候到?
  12. 《Adobe Premiere Pro CS4经典教程》——1.7 Adobe Premiere Pro工作区
  13. Android平台开发指导(Android Porting Guide)
  14. 电信增值业务学习笔记13——增值业务管理
  15. 新时代区块链研究院 | 区块链人才需求激增200%,薪资已赶超互联网!
  16. myeclipse 修改项目名Tomcat启动项目报错java.lang.IllegalArgumentException: Can't convert argument: null...
  17. Linux shell编程自动化运维,三剑客之awk原理,语法,内部变量,格式化输出,模式和动作 详细解析
  18. 【虚拟现实】Unity3D+VR的实现
  19. B S架构 服务器虚拟化,基于KVM的B/S架构虚拟化管理系统
  20. 协议-ISIS基础知识

热门文章

  1. C++ int与string互转换
  2. Scala之flatMap操作
  3. CRT中的sftp上传文件出现中文路乱码
  4. Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
  5. CentOS/Ubuntu 14.10 安装 phpstorm
  6. 微信小游戏 UserInfoButton 获取用户信息
  7. Navicat Premium 15 逆向表到模型
  8. mysql56允许远程连接_mysql允许远程连接的方法
  9. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_10-freemarker静态化测试-基于模板文件静态化...
  10. 基于决策树的保险案列