![](/img/trans.png)
[英]How do I notify a row in a WPF DataGrid that one of its cells was programmatically modified?
[英]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.