簡體   English   中英

如何以編程方式向數據網格中添加列和單元格?

[英]How do I add columns and cells in a row to a datagrid programmatically?

我有一個方法,它排除某些對象,並使用反射獲取它的每個屬性。 屬性名稱設置為列標題,並綁定到應該位於它們下面的單元格中的值。 將顯示標題,但不顯示單元格中的值。 當我嘗試向數據網格添加值時,將其綁定到先前設置的列上,該值不會出現在表中。 告訴我,我在這里做錯了,請!

這是此方法的示例:

private void Output<T>(T obj)
    {
        foreach (var prop in obj.GetType().GetProperties())
        {
            var column = prop.Name;
            CarDetailsGrid.Columns.Add(new DataGridTextColumn()
            {
                Header = column,
                Binding = new Binding(column)
            });

            var value = prop.GetValue(obj);
            CarDetailsGrid.Items.Add(new { column = value != null ? value : "" });
        }
    }

添加行和列有所不同。 嘗試執行以下操作:

private void Output<T>(List<T> objList)
{
    foreach (var prop in T.GetProperties())
    {
        var column = prop.Name;
        CarDetailsGrid.Columns.Add(new DataGridTextColumn()
        {
            Header = column,
            Binding = new Binding(column)
        });
    }

    if (objList != null && objList.Any())
    {
        foreach(var currObj in objList)
        {
            CarDetailsGrid.Items.Add(currObj);
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM