WPF在datagrid中添加序号

首先在datagrid中添加DataGridTemplateColumn,如下:

                <DataGridTemplateColumn Width="60"
                                        Header="序号"
                                        IsReadOnly="True">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock HorizontalAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}}, Path=Header}" />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

然后后台增加一个事件:

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

但是得出的界面却是这样子的

这是因为datagrid的【LoadingRow】方法的存在,若这个方法去掉,则序号也不显示了。

所以如果在datagrid中加上一个属性【HeadersVisibility="Column" 】,结果就完美出现了。

posted @ 2017-06-15 10:22  改变你我  阅读(4156)  评论(0编辑  收藏  举报