データベース操作のために Silverlight 5 と RIA Services に取り組んでいます。データを完全に表示するDataGrid。
しかし、レコードを削除してデータベースに変更を送信すると、データベースは正常に更新されますが、DataGrid にはまだ古いデータが表示されます。さわやかではありません。
Google で検索したところ、単純な答えがないことに驚きました。Microsoft が Silverlight でこの基本機能を提供していないことにも驚きました。
データベース操作のために Silverlight 5 と RIA Services に取り組んでいます。データを完全に表示するDataGrid。
しかし、レコードを削除してデータベースに変更を送信すると、データベースは正常に更新されますが、DataGrid にはまだ古いデータが表示されます。さわやかではありません。
Google で検索したところ、単純な答えがないことに驚きました。Microsoft が 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);