数据库更改时更新datagridview

时间:2012-12-05 00:24:03

标签: c# .net winforms

我有2台计算机:服务器和客户端,两个相同的winform app,同一个数据库。

我希望能够在数据库更改

上更新datagridview

所以我每4秒更新一次刷新datagridview数据源的动态更新。

数据源发生变化时几乎没有问题

首先如果在datagrid中选择了一行(dataGridView_RowHeaderMouseClick),它就会失去焦点。

如果我向下滚动数据网格视图,则滚动条会跳到开头。

关于如何做到这一点的任何想法?

由于

Baaroz

2 个答案:

答案 0 :(得分:1)

您不希望在没有任何条件的情况下每4秒刷新一次DataSource。正如你所说,有几个功能问题会受此影响(例如失去对一行的关注,虽然可以通过每次聚焦到一行时存储行句柄来解决,但不应该是你需要的东西要做的事情),没有提到如果您加载的表很大,将会出现由于不断重新加载而导致的性能问题。

您应该在每次DataSource更改时触发刷新,或者Anthbs所说的,将数据与网格的DataSource进行比较,只有在它们不同时才进行刷新。

答案 1 :(得分:0)

有几个想法可以减少刷新问题。

  • 为了减少发生这种情况的可能性,您可以将新数据与网格中的数据进行比较,只有在数据发生变化时才刷新。

  • 您可以在刷新网格之前存储所选索引,并在刷新后将其设置回来。