2017-02-24 66 views
0

我有几个绑定到数据源的Datagridviews。这些数据来自数据库,需要不断更新。 (我每秒刷新一次Datagridview) 这种不断的刷新会导致滚动,选择等一些明显的问题。数据不会如此频繁地更改,每分钟只有大约两次,但是当它发生更改时,我需要快速更新Datagrid,从而频繁刷新。只有在内容发生变化时才刷新datagridview

有没有一种方法来快速验证(例如通过使用散列函数等)来查看数据源的内容是否已经改变?我想避免比较每个单元格/行,因为它可能对我的所有datagridview的软件来说工作太多。有没有更好的办法?

谢谢

回答

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

似乎并没有工作..我使用两个DataTable,而不是数据集,但这样做。绑定的数据表是空的,刷新时只有一行。 result.any返回false。 – sharkyenergy

+0

您是否在与DataGridView绑定后没有持久保存数据表? – Brijesh

+0

这是什么意思? – sharkyenergy

相关问题