WPF下给DataGrid自动增加序列号
作者:互联网
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