• 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"。

  • 相关阅读:
    MySQL——视图/触发器/事务/存储过程/函数/流程控制
    python连接MySQL/redis/mongoDB数据库的简单整理
    docker安装和使用
    【Python】Django2.0集成Celery4.1详解
    django-haystack全文检索详细教程
    ubuntu16.04安装FastDFS-5.08
    redis之django-redis
    uva 1152 4 Values whose Sum is 0
    2015暑假acm短训小结
    Uva 12569 Planning mobile robot on Tree (EASY Version)
  • 原文地址:https://www.cnblogs.com/zhaiganggang/p/16215879.html
Copyright © 2020-2023  润新知