如何刷新DataGrid?

时间:2013-03-07 18:47:39

标签: c# silverlight datagrid refresh wcf-ria-services

我正在使用Silverlight 5和RIA Services进行数据库操作。 DataGrid完美地显示数据。

但是当我删除一条记录并向数据库提交更改时,数据库更新成功,但DataGrid仍显示旧数据。它并不令人耳目一新。

我搜索谷歌并惊讶地看到没有简单的答案,我也很惊讶地看到微软没有在Silverlight中提供这个基本功能。

2 个答案:

答案 0 :(得分:1)

任何人都不是一个好方法,但我通过将DataGrid设置为null并重新添加数据来解决这个问题。

 System.Collections.IEnumerable temp = yourGrid.ItemsSource;
 yourGrid.ItemsSource = null;
 yourGrid.ItemsSource = temp;

我不喜欢这样做,但它有效并且出于我的目的,我没有注意到任何性能命中。

编辑:我想这可能不适用于删除,但值得一试

答案 1 :(得分:0)

您是否尝试过使用PagedCollectionView作为ItemSsource?

类似的东西:

DataGridMainTopic.ItemsSource = new PagedCollectionView(m_context.EntitySet);

甚至:

DataGridMainTopic.ItemsSource = new PagedCollectionView(DataGridMainTopic.ItemsSource);