2017-02-24 55 views
0

データソースにバインドされているDatagridviewがいくつかあります。このデータはデータベースから取得され、常に最新のものでなければなりません。 (私は毎秒Datagridviewをリフレッシュします) この一定のリフレッシュは、スクロール、選択などのいくつかの明らかな問題を引き起こします。データは頻繁に変化するのではなく、毎分約2回しか変更されませんが、変更された場合、データグリッドをすばやく更新する必要があります。コンテンツが変更された場合にのみ、データグリッドビューを更新します

データソースの内容が変更されたかどうかを確認する方法がありますか(ハッシュ関数などを使用するなど)私はすべての私のdatagridviewsのためのソフトウェアのためにあまりにも多くの仕事かもしれないので、各セル/行を比較することを避けたいと思います。より良い方法がありますか?

ありがとう

答えて

1
DataSet dsBindedToDataGridView = new DataSet(); // Get data from DB & Bind this to DataGridView and persist it. 
DataSet dsRetrivedOnRefresh = new DataSet(); //Add code to fetch data from DB 

var result = dsBindedToDataGridView.Tables[0].AsEnumerable().Except(dsRetrivedOnRefresh.Tables[0].AsEnumerable(),DataRowComparer.Default); 
//Now if result has got any value then data has changed and you need to refresh the data else ignore 
+0

は..私は2つのDataTableの代わりに、データセットを使用しますが、同じことをやっている動作するようには思えません。バインドされたデータテーブルは空です。リフレッシュ時には1行あります。 result.anyはfalseを返します。 – sharkyenergy

+0

DataGridViewでバインドした後にデータテーブルを永続化していませんか? – Brijesh

+0

それはどういう意味ですか? – sharkyenergy

関連する問題