我正在使用Silverlight 5和RIA Services进行数据库操作。 DataGrid完美地显示数据。
但是当我删除一条记录并向数据库提交更改时,数据库更新成功,但DataGrid仍显示旧数据。它并不令人耳目一新。
我搜索谷歌并惊讶地看到没有简单的答案,我也很惊讶地看到微软没有在Silverlight中提供这个基本功能。
答案 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);