向数据网格添加列并更改标题

本文关键字:标题 添加 数据 数据网 网格 | 更新日期: 2023-09-27 18:35:31

我创建了一个具有特定属性的对象列表,然后将其绑定到dataGrid列的顺序与我预期不符,因为我从基类继承了属性并将其他属性添加到继承类中,所以我尝试手动更改顺序,但这不起作用。因此,我的问题是如何在列表绑定到数据网格时更改列的顺序和标题。下面是一个演示我试图完成的任务的示例:

    class Program
{
    void showData()
    {
        test2 t1 = new test2() { p1 = 1, p2 = 6, p3 = 9 };
        test2 t2 = new test2() { p1 = 4, p2 = 5, p3 = 6 };
        List<test2> l = new List<test2>();
        l.Add(t1);
        l.Add(t2);
        datagrid1.ItemsSource = l; // p3 appears in the first column of the grid but I want it to be in the last column
    }
}
class test
{
    public int p1 { get; set; }
    public int p2 { get; set; }
}
class test2 : test
{
    public int p3 { get; set; }
}

向数据网格添加列并更改标题

在控件的 XAML 部分中手动定义列:

    <DataGrid Name="datagrid1" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="p1" Binding="{Binding p1}"/>
            <DataGridTextColumn Header="p2" Binding="{Binding p2}"/>
            <DataGridTextColumn Header="p3" Binding="{Binding p3}"/>
        </DataGrid.Columns>
    </DataGrid>