前台绑定
<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>

后台事件

    /// <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"] = "";
GetCount();
}
}
private void UnChoice_Checked(object sender, RoutedEventArgs e)
{
DataTable dt = ((DataView)CommodityData.ItemsSource).Table;
foreach (DataRow row in dt.Rows)
{
row["CHOICE"] = "";
GetCount();
}
} private void checkbox_checked(object sender, RoutedEventArgs e)
{
//首先获取DataGridTemplateColumn所在列
DataGridTemplateColumn tempColumn = this.CommodityData.Columns[] as DataGridTemplateColumn;
//然后获取DataGridTemplateColumn单元格元素
FrameworkElement element = this.CommodityData.Columns[].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"] = "";
GetCount();
}
else if (ck.IsChecked == false)
{
DataRowView item = CommodityData.Items[CommodityData.SelectedIndex] as DataRowView;
DataRow dr = item.Row;
dr["CHOICE"] = "";
GetCount();
}
}
}

-->

-->

最新文章

  1. ActiveMQ笔记(6):消息延时投递
  2. Python第八天
  3. Google Kubernetes设计文档之服务篇-转
  4. 深入了解Javascript模块化编程
  5. 【CentOs】开机启动与防火墙
  6. 从代码都发布遇到的问题总结(C#调用非托管dll文件,部署项目) 转
  7. 用JQUERY为INPUT的TXT类型赋值及取值操作
  8. redis优化配置和redis.conf说明
  9. HTML5 前端框架和开发工具【下篇】
  10. 微信小程序学习总结(1)
  11. 201521123076 《Java程序设计》第13周学习总结
  12. 解决:mysql is blocked because of many connection errors;
  13. String的replaceAll()用法详解
  14. jupyter notebook修改默认路径和浏览器
  15. 个人作业4——alpha阶段个人总结
  16. IDEA永久激活方法
  17. JDK10源码阅读--String
  18. P1004 方格取数-洛谷luogu-dp动态规划
  19. 转:为Docker容器设置固定IP实现网络联通(1)——通过Pipework为Docker容器设置
  20. ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)

热门文章

  1. [笔记-图论]Floyd
  2. time---统计命令所花费的总时间
  3. JS几种遍历方式比较
  4. Java Web学习总结(20)——基于ZooKeeper的分布式session实现
  5. 修改cloudera manager的端口号
  6. hbase启动报错
  7. 目标跟踪--CamShift
  8. WireGuard 隧道的安装和使用,测试地址 ca.6tu.me
  9. dropify,不错的图片上传预览插件
  10. ipad 基础