我正在研究用于数据库操作的 Silverlight 5 和 RIA 服务。DataGrid 完美显示数据。
但是当我删除一条记录并将更改提交到数据库时,数据库更新成功,但 DataGrid 仍然显示旧数据。它并不令人耳目一新。
我在谷歌上搜索并惊讶地发现没有简单的答案,我也惊讶地发现微软没有在 Silverlight 中提供这个基本功能。
我正在研究用于数据库操作的 Silverlight 5 和 RIA 服务。DataGrid 完美显示数据。
但是当我删除一条记录并将更改提交到数据库时,数据库更新成功,但 DataGrid 仍然显示旧数据。它并不令人耳目一新。
我在谷歌上搜索并惊讶地发现没有简单的答案,我也惊讶地发现微软没有在 Silverlight 中提供这个基本功能。
无论如何,这不是一个好方法,但我已经通过将 DataGrid 设置为 null 并重新添加数据来解决这个问题。
System.Collections.IEnumerable temp = yourGrid.ItemsSource;
yourGrid.ItemsSource = null;
yourGrid.ItemsSource = temp;
我不喜欢这样做,但它可以工作,就我的目的而言,我没有注意到任何性能损失。
编辑:我想这可能不适用于删除,但值得一试
您是否尝试过使用 PagedCollectionView 作为 ItemSource?
就像是:
DataGridMainTopic.ItemsSource = new PagedCollectionView(m_context.EntitySet);
甚至:
DataGridMainTopic.ItemsSource = new PagedCollectionView(DataGridMainTopic.ItemsSource);