wpf--------------datagrid全选反选 多选进行删除操作 前后台
<DataGrid.Columns><DataGridTemplateColumn ><DataGridTemplateColumn.HeaderTemplate><DataTemplate><CheckBox Click="HeaderCellLoad" Content="全选" IsChecked="False" Unchecked="UnChoice_Checked" Checked="Choice_Checked"></CheckBox></DataTemplate></DataGridTemplateColumn.HeaderTemplate><DataGridTemplateColumn.CellTemplate><DataTemplate><CheckBox Click="checkbox_checked" HorizontalAlignment="Center" x:Name="Choices" IsChecked="{Binding CHOICE, Mode=TwoWay}" VerticalAlignment="Center" /></DataTemplate></DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTextColumn Header="商品条码" Binding="{Binding commodity_barcode}" Width="20*" HeaderStyle="{StaticResource ColumnHeaderStyle}"/><DataGridTextColumn Header="商品名称" Binding="{Binding commodity_name}" Width="18*" HeaderStyle="{StaticResource ColumnHeaderStyle}"/><DataGridTextColumn Header="单位" Binding="{Binding commodity_unit}" Width="10*" HeaderStyle="{StaticResource ColumnHeaderStyle}"/><DataGridTextColumn Header="规格" Binding="{Binding commodity_rule}" Width="10*" HeaderStyle="{StaticResource ColumnHeaderStyle}"/><DataGridTextColumn Header="售价" Binding="{Binding commodity_retailprice}" Width="10*" HeaderStyle="{StaticResource ColumnHeaderStyle}" /><DataGridTextColumn Header="会员价" Binding="{Binding commodity_memberprice}" Width="10*" HeaderStyle="{StaticResource ColumnHeaderStyle}"/><DataGridTemplateColumn Header="操作" Width="10*"><DataGridTemplateColumn.CellTemplate><DataTemplate> <StackPanel Orientation="Horizontal"><Button Content="修改" Click="Update_Click" Margin="15,0,5,0" ><Button.Template><ControlTemplate TargetType="Button"><TextBlock TextDecorations="Underline" Name="btnInput" > <ContentPresenter /></TextBlock></ControlTemplate></Button.Template><Button.Style><Style TargetType="Button"><Setter Property="Foreground" Value="Blue" /><Style.Triggers><Trigger Property="IsMouseOver" Value="true"><Setter Property="Foreground" Value="Red" /></Trigger></Style.Triggers></Style></Button.Style></Button><Button Content="删除" Click="Delete_Click" Margin="15,0,5,0"><Button.Template><ControlTemplate TargetType="Button"><TextBlock TextDecorations="Underline" Name="btnCancel" > <ContentPresenter /></TextBlock></ControlTemplate></Button.Template><Button.Style><Style TargetType="Button"><Setter Property="Foreground" Value="Red" /><Style.Triggers><Trigger Property="IsMouseOver" Value="true"><Setter Property="Foreground" Value="Red" /></Trigger></Style.Triggers></Style></Button.Style></Button></StackPanel></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns>
View Code
后台事件
/// <summary>/// Checked UnChecked事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param> private void Choice_Checked(object sender, RoutedEventArgs e){DataTable dt = ((DataView)CommodityData.ItemsSource).Table;foreach (DataRow row in dt.Rows){row["CHOICE"] = "1";GetCount();}}private void UnChoice_Checked(object sender, RoutedEventArgs e){DataTable dt = ((DataView)CommodityData.ItemsSource).Table;foreach (DataRow row in dt.Rows){row["CHOICE"] = "0";GetCount();}}private void checkbox_checked(object sender, RoutedEventArgs e){//首先获取DataGridTemplateColumn所在列 DataGridTemplateColumn tempColumn = this.CommodityData.Columns[0] as DataGridTemplateColumn;//然后获取DataGridTemplateColumn单元格元素FrameworkElement element = this.CommodityData.Columns[0].GetCellContent(this.CommodityData.Items[CommodityData.SelectedIndex]);if (element != null){//把单元格元素转换为相应的控件,再从该控件中取值System.Windows.Controls.CheckBox ck = tempColumn.CellTemplate.FindName("Choices", element) as System.Windows.Controls.CheckBox; if (ck.IsChecked == true){DataRowView item = CommodityData.Items[CommodityData.SelectedIndex] as DataRowView;DataRow dr = item.Row;dr["CHOICE"] = "1";GetCount();}else if (ck.IsChecked == false){DataRowView item = CommodityData.Items[CommodityData.SelectedIndex] as DataRowView;DataRow dr = item.Row;dr["CHOICE"] = "0";GetCount();} }}
View Code
转载于:https://www.cnblogs.com/wangzhe688/p/9323772.html
wpf--------------datagrid全选反选 多选进行删除操作 前后台相关推荐
- js复选框之全选反选不选
今日分享:纯js复选框之全选&&反选&&不选 想要了解其用法,首先先得了解它们各自的意思 全选:全部都选中 反选:选中的部分取消,没选中的部分勾选上 不选:全部取消勾选 ...
- [JS] checkbox 选中/全选/反选/不选
知识点: 1. jQuery: prop() 和 attr() attr('checked') 返回string类型 prop('checked') 返回Boolean类型 结论:$(" ...
- jQuery如何动态删除TR,input按钮删除本行记录,checkbox全选反选
checkbox 全选反选 1: var i = 1; 2: function CheckAllTeacher() { 3: if (i % 2 == 1) { 4: i++; 5: $(" ...
- html实现全选 反选,jquery实现全选、不选、反选的两种方法
在取复选框checkbox的属性checked属性值时,发现一个问题,就是当用attr取值时,真的为"checked",假的为"undefined";当用pro ...
- JSjQuery全选反选父项子项联动多选框
全选反选父项子项联动多选框 js代码:<!DOCTYPE html><html lang="en"><head> <meta charse ...
- jQuery全选反选实例
1. $('#tb:checkbox').each(function(){ 每次都会执行 全选-取消操作,注意$('#tb :checkbox').prop('checked',true); tb后面 ...
- Jquery实现 全选反选
Jquery实现 全选反选 <!DOCTYPE html> <html lang="en"><head><meta charset=&qu ...
- JS 原生实现复选框全选反选功能
** JS 原生实现复选框全选反选功能 ** 按钮功能实现思路: 全选按钮: 直接将全选按钮的状态赋值给每一个 复选框. 复选框:只有当所有的复选框选中时,全选按钮才能选中,所以每当复选框每点击一次就 ...
- WPF DataGrid 如何将被选中行带到视野中
WPF DataGrid 如何将被选中行带到视野中 目录 前言 准备工作 方法一 方法二 总结 独立观察员 2021 年 12 月 11 日 前言 在 WPF 开发中,显示表格一般使用 DataGri ...
最新文章
- VIT pytorch源码
- AcWing算法基础课 Level-2 第二讲 数据结构
- ai包装插件_找AI插件很费劲,一次给你66款AI插件合集!每一款都是设计师常用...
- kafka rebalance 部分分区没有owner
- AI人才缺口达百万:做了AI,就一定能拿到高薪offer吗?
- svn文件大小类型限制,提交必须加多少字的说明
- Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb shgsfdk dHyscvnm”。大侦探很快就明白了
- tp3.2部署在nginx主页正常,其他页面404问题解决方式
- 多线程并发思考--文件加锁
- Unity3D一个全面整合的专业游戏引擎
- CS 1.6 服务器信息读取
- fastjson 属性大写问题
- Linux运维笔记-日常操作命令总结(1)
- Java锁的种类以及辨析(四):可重入锁
- 许路平:Gvoice千万在语音输入的那些事
- WordPress 和继承者们
- 图像处理--OpenCV实现图像加噪与滤波
- tl-wr700n拔号服务器无响应,无线路由器连不上网,总是拨号失败,服务器无响应,日志如下:...
- 修改mq服务器ip,将外部IP地址绑定到Rabbit MQ服务器
- 记一次让自家旧主板支持M2接口固态硬盘的折腾记录