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

WPF下 DataGrid加入序号列

先上代码:

 <DataGrid Name="DGV" AutoGenerateColumns="False"  Grid.Row="0" Grid.Column="0"   HorizontalGridLinesBrush="RoyalBlue" VerticalGridLinesBrush="Tomato" CanUserAddRows="False" LoadingRow="dataGrid_LoadingRow">
                        <DataGrid.ColumnHeaderStyle>
                            <Style TargetType="DataGridColumnHeader">
                                <Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
                            </Style>
                        </DataGrid.ColumnHeaderStyle> 
                        <DataGrid.Columns>
                            <DataGridTemplateColumn  Width="55" Header="序号">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow}}, Path=Header}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"></TextBlock>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                            <!--<DataGridTemplateColumn  IsReadOnly="True" MinWidth="60"  Width="80" Header="编号">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Id}" TextTrimming="CharacterEllipsis"  HorizontalAlignment="Center"  FontSize="14"  Margin="3" TextWrapping="Wrap"></TextBlock>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>-->
                            <DataGridTemplateColumn  IsReadOnly="True" MinWidth="120"    Width="*" Header="牌位类型">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding PaiweiType}" TextTrimming="CharacterEllipsis" FontSize="14" VerticalAlignment="Center"   Margin="3" TextWrapping="Wrap"></TextBlock>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>


                            <DataGridTemplateColumn  IsReadOnly="True" MinWidth="80"  Width="*" Header="牌位种类">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding DaxiaoSuixi}" TextTrimming="CharacterEllipsis"   HorizontalAlignment="Center"  FontSize="14"  Margin="3" TextWrapping="Wrap"></TextBlock>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>

                            <DataGridTemplateColumn  IsReadOnly="True" MinWidth="80"  Width="*" Header="金额">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding JinE}" TextTrimming="CharacterEllipsis"   HorizontalAlignment="Center"  FontSize="14"  Margin="3" TextWrapping="Wrap"></TextBlock>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>

                        </DataGrid.Columns>
                    </DataGrid>

序号列:

  <DataGridTemplateColumn  Width="55" Header="序号">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow}}, Path=Header}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"></TextBlock>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>

需要使用 创建row事件

LoadingRow="dataGrid_LoadingRow"

事件操作为:

 private void dataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            e.Row.Header = e.Row.GetIndex() + 1;
        }

显示效果如下:
在这里插入图片描述
这个时候需要讲RowHeader去掉就可以了(未找到方法的话,可以使用宽度为0)。

RowHeaderWidth="0"

还有个方法就是直接写死:

<DataGrid>
    <DataGrid.RowHeaderStyle>
        <Style TargetType="DataGridRowHeader">
            <Setter Property="Content" Value="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Row.Index}"/>
        </Style>
    </DataGrid.RowHeaderStyle>
    <!-- 其他DataGrid设置和内容 -->
</DataGrid>

http://www.kler.cn/a/403127.html

相关文章:

  • 浅析解析 3D NMS 算法及实现
  • 主IP地址与从IP地址:深入解析与应用探讨
  • 中国省级新质生产力发展指数数据(任宇新版本)2010-2023年
  • JAVA八股与代码实践----JDK代理和CGLIB代理的区别
  • 使用 npm 安装 Electron 作为开发依赖
  • 介绍一下strncmp(c基础)
  • STM32 | 超声波避障小车
  • 认识c++(c++入门)
  • 理解 Python 中的 __getitem__ 方法:在自定义类中启用索引和切片操作
  • 机器视觉相机重要名词
  • 建立独一无二的GitHub Profile
  • 很能体现FPGA硬件思维的一道面试题
  • docker的logs命令可以查看docker容器日志
  • [BSidesCF 2019]SVGMagic
  • 代替Spinnaker 的 POINTGREY工业级相机 FLIR相机 Python编程案例
  • pytest | 框架的简单使用
  • Knife4j与springboot集成自动编写API文档
  • 《生成式 AI》课程 第3講 CODE TASK 任务3:自定义任务的机器人
  • 【传知代码】VRT_ 关于视频修复的模型
  • mysql中mvcc如何处理纯读事务的?
  • 《数据结构》学习系列——图(上)
  • 如何控制自己玩手机的时间?两台苹果手机帮助自律
  • JDBC使用p6spy记录实际执行SQL方法【解决SQL打印两次问题】
  • AWS 多区域部署实战:Route 53 加权路由与多层健康检查
  • 反转链表、链表内指定区间反转
  • 10 基于深度学习的目标检测