如何在加载后更新DataGrid?

时间:2016-08-17 15:14:36

标签: c# datagrid

enter image description here

上面显示我的DataGrid.dataGrid_Loaded()方法创建了几个“记录”并将它们添加到我的DataGrid使用其“ItemsSource”的列表中

在第156行,我有另一条记录被注释掉(在grid.ItemsSource设置之后)。如果我重新添加该行,我的代码就会中断。必须有办法用新数据更新我的DataGrid,但是如何?

感谢您的帮助!

当我取消注释第156行时,我得到:

PresentationFramework.dll中出现未处理的“System.InvalidOperationException”类型异常

其他信息:ItemsControl与其商品来源不一致。

有关详细信息,请参阅内部异常。

1 个答案:

答案 0 :(得分:0)

您需要在更改之前清除ItemsSource

List<string> items = new List<string>() { "a", "b" };
dataGrid.ItemsSource = items;

// some code

dataGrid.ItemsSource = null;
items.Add("c");
dataGrid.ItemsSource = items;

// dataGrid contains: "a", "b", "c"

您可能希望使用ObservableCollection<T>并在XAML中使用绑定 - 项目会自动更新。