c# WPF DataGrid设置一列自增一

方法一:

不新增列,利用最左侧列。

首先, 为DataGrid添加LoadingRow事件:

1 this.dataGridEquipment.LoadingRow += new EventHandler<DataGridRowEventArgs>(this.dataGridEquipment_LoadingRow);

 

LoadingRow实现:

1  private void dataGridEquipment_LoadingRow ( object sender, DataGridRowEventArgs e)
2 {
3   e.Row.Header = e.Row.GetIndex() + 1;
4 }

 

 
运行结果如下如所示:

 

 

 

方法二:

新增一列显示序号。

首先,利用DataGridTemplateColumn自定义列:

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

然后,为DataGrid添加LoadingRow事件:

1 this.dataGridEquipment.LoadingRow += new EventHandler<DataGridRowEventArgs>(this.dataGridEquipment_LoadingRow);

LoadingRow实现:

1  private void dataGridEquipment_LoadingRow ( object sender, DataGridRowEventArgs e)
2 {
3   e.Row.Header = e.Row.GetIndex() + 1;
4 }

 

效果如下图所示:

 

 

 

 

 

 

 

posted @ 2020-11-05 09:23  llkj  阅读(720)  评论(0编辑  收藏  举报