当前位置: 首页 > news >正文

WPF中DataGrid解析

效果如图:

代码如下:

<DataGrid Grid.Row="1" x:Name="dataGrid" ItemsSource="{Binding DataList}" AutoGenerateColumns="False"SelectedItem="{Binding SelectedItem,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True"ColumnHeaderStyle="{StaticResource UnitColumnHeader}" RowHeaderWidth="0" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ><DataGrid.Columns><DataGridTextColumn Width="1.5*"  Header="CoilId"  Binding="{Binding COIL_ID}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1.2*"  Header="AlloyId" Binding="{Binding ALLOY_ID}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1*"    Header="Entry Thickness&#x0a;[mm]" Binding="{Binding ENTRY_THICKNESS}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1*"    Header="Exit Thickness&#x0a;[mm]" Binding="{Binding EXIT_THICKNESS}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1*"    Header="Exit Diam&#x0a;[mm]" Binding="{Binding COIL_DIAM}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1*"    Header="Exit Length&#x0a;[mm]" Binding="{Binding COIL_LENGTH}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1.2*"  Header="StartTime" Binding="{Binding START_TIME}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1.2*"  Header="EndTime" Binding="{Binding STOP_TIME}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTextColumn Width="1.2*"  Header="TotalTime" Binding="{Binding DURATIONTIME}"  ElementStyle="{StaticResource MyDataGridCellStyle}"/><DataGridTemplateColumn Width="1.2*"  Header="PDF" ><DataGridTemplateColumn.CellTemplate><DataTemplate><Button Content="{Binding COIL_ID}" Width="196"  Style="{StaticResource BasicButtonStyle}"  Command="{Binding DataContext.MakePDFReport,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" /></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns>
</DataGrid>

1、给单个的列设置新的组件:在DataTemplate里设置

  <DataGridTemplateColumn Width="1.2*"  Header="PDF" >
      <DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
              <Button Content="{Binding COIL_ID}" Width="196"  Style="{StaticResource BasicButtonStyle}"  Command="{Binding DataContext.MakePDFReport,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
          </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
  </DataGridTemplateColumn>

2、点击按钮 获取到相应数据

在DataGrid的属性SelectedItem绑定单个数据源

SelectedItem="{Binding SelectedItem,UpdateSourceTrigger=PropertyChanged}"

3、DataGrid里的事件绑定特殊:

Command="{Binding DataContext.MakePDFReport,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" 

http://www.lryc.cn/news/247516.html

相关文章:

  • 在数据库中进行表内容的修改(MYSQL)
  • Android中的多进程
  • Apache2.4 AliasMatch导致301重定向问题?
  • 广州华锐视点:基于VR元宇宙技术开展法律法规常识在线教学,打破地域和时间限制
  • Maven——Maven使用基础
  • U4_2:图论之MST/Prim/Kruskal
  • springboot 注解@JsonInclude
  • Python 中文完整教程目录
  • C/C++---------------LeetCode第35. 搜索插入位置
  • 网络安全--基于Kali的网络扫描基础技术
  • C语言——求π的近似值
  • 如何使用ffmpeg转换图片格式
  • 11 动态规划解最后一块石头的重量II
  • LeetCode算法题解(动态规划,股票买卖)|LeetCode121. 买卖股票的最佳时机、LeetCode122. 买卖股票的最佳时机 II
  • python实验3 石头剪刀布游戏
  • 米贸搜|如何设置 Facebook 转换 API + 事件重复数据删除
  • python每日一题——11滑动窗口最大值
  • 【C++ 程序设计入门基础】- 第3节-循环结构01
  • 人工智能原理复习--知识表示(一)
  • 网络运维与网络安全 学习笔记2023.11.28
  • Rust开发——数据对象的内存布局
  • mySQL踩坑记录
  • 【Java】使用 IDEA 快速生成 SpringBoot 模块
  • 2023网络安全产业图谱
  • 一则 MongoDB 副本集迁移实操案例
  • 2022年03月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖
  • SQL注入-SQL注入过程
  • 选择更灵活的设计工具:SOLIDWORKS 软件网络版与单机版的比较
  • Go语言中获取协程ID