WPF中DataGrid解析

news/2025/3/15 16:33:12/

效果如图:

代码如下:

<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.ppmy.cn/news/1249389.html

相关文章

详解Python中httptools模块的使用

httptools 是一个 HTTP 解析器&#xff0c;它首先提供了一个 parse_url 函数&#xff0c;用来解析 URL。这篇文章就来和大家聊聊它的用法吧&#xff0c;感兴趣的可以了解一下 如果你用过 FastAPI 的话&#xff0c;那么你一定知道 uvicorn&#xff0c;它是一个基于 uvloop 和 h…

@RequestMapping详解:请求映射规则

目录 请求-相应模式&#xff1a; 设置请求映射规则RequestMapping POST 请求&#xff1a; GET 请求 请求-相应模式&#xff1a; 前端作为客户端向后端发送请求&#xff08;请求可以分为请求头和请求体两部分&#xff0c;请求头包含了一些元数据信息&#xff0c;如请求方式、…

炸裂:completablefuture自定义线程池慢2倍......比默认线程池......

尼恩说在前面 尼恩社群中&#xff0c;很多小伙伴找尼恩来卷3高技术&#xff0c;学习3高架构&#xff0c;遇到问题&#xff0c;常常找尼恩反馈和帮扶。 周一&#xff0c;一个5年经验的大厂小伙伴&#xff0c;反馈了一个令人震惊的问题 completablefuture自定义线程池慢2倍…比…

使用Ray轻松进行Python分布式计算

大家好&#xff0c;在实际研究中&#xff0c;即使是具有多个CPU核心的单处理器计算机&#xff0c;也会给人一种能够同时运行多个任务的错觉。当我们拥有多个处理器时&#xff0c;就可以真正以并行的方式执行计算&#xff0c;本文将简要介绍Python分布式计算。 1.并行计算与分布…

【Spring之事务底层源码解析,持续更新中~~~】

文章目录 一、EnableTransactionManagement工作原理二、Spring事务基本执行原理三、Spring事务传播机制与分类四、Spring事务强制回滚五、TransactionSynchronization六、Spring事务详细执行流程 一、EnableTransactionManagement工作原理 二、Spring事务基本执行原理 三、Sp…

文件重命名:如何删除文件名中的下划线,特殊符号批量删除

在日常的工作中&#xff0c;经常会遇到文件名中包含特殊符号的情况&#xff0c;例如&#xff0c;一些文件名可能包含下划线、空格或其他特殊符号&#xff0c;这些符号可能会干扰我们的文件搜索和识别。此外&#xff0c;一些文件名可能包含无法识别的非标准字符&#xff0c;这可…

【MyBatis注解实现模糊查询】

文章目录 1. 准备工作2. 创建数据库表3. 编写Mapper接口4. 编写SQL语句5. 使用注解进行查询6. 示例代码 1. 准备工作 可以参考MyBatis官方文档 2. 创建数据库表 假设有一个名为users的表&#xff0c;包含以下字段&#xff1a; id&#xff08;主键&#xff09;username&…

90基于matlab的无迹卡尔曼滤波器参数估计的非线性最小二乘优化

基于matlab的无迹卡尔曼滤波器参数估计的非线性最小二乘优化&#xff0c;数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 90matlab无迹卡尔曼滤波器参数估计 (xiaohongshu.com)