ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

WPF下给DataGrid自动增加序列号

2022-05-02 15:33:58  阅读:218  来源: 互联网

标签:dataGridEquipment LoadingRow 自定义 DataGrid 序号 序列号 WPF Row


C#下使用WPF框架编程时,有时需要给DataGrid添加序号,实现方式一般两种,一种方式是通过 LoadingRow,自动在列前边增加一列序号,该列为自动添加,没有列名字。另一种是自定义一列显示序号。下边我们看看具体的实现方式。
1、自动增加一列显示序号
效果如图:

 

 

实现方式:
给DataGrid添加LoadingRow事件
this.dataGridEquipment.LoadingRow += new EventHandler<DataGridRowEventArgs>(this.dataGridEquipment_LoadingRow);

LoadingRow实现

private void dataGridEquipment_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = e.Row.GetIndex() + 1;
}
2、自定义一列显示序号
效果如下:

 

 


实现方式:
利用DataGridTemplateColumn自定义列:

<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>

给DataGrid添加LoadingRow事件
this.dataGridEquipment.LoadingRow += new EventHandler<DataGridRowEventArgs>(this.dataGridEquipment_LoadingRow);

LoadingRow实现
private void dataGridEquipment_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = e.Row.GetIndex() + 1;
}

最后设置DataGrid的 HeadersVisibility ="Column"或者 RowHeaderWidth ="0"。

标签:dataGridEquipment,LoadingRow,自定义,DataGrid,序号,序列号,WPF,Row
来源: https://www.cnblogs.com/zhaiganggang/p/16215879.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有