2012-12-05 267 views
0

我有2臺計算機:服務器和客戶端,同一個數據庫上的winform應用程序。更新數據庫更改時的datagridview

我希望能夠以更新數據庫變更DataGridView的

所以我做了一個代碼更新每4秒刷新datagridview的數據源。

幾個問題,當數據源正在改變

首先,如果連續被選擇(dataGridView_RowHeaderMouseClick)在數據網格中,它失去焦點。

seconed如果我向下滾動datagridview,滾動條跳轉到開始。

任何關於如何做到這一點的想法是正確的?

感謝

Baaroz

回答

0

繼承人一對夫婦的想法的,以減少刷新的問題。

  • 爲了減少發生這種情況的機率,您可以將新數據與網格中的數據進行比較,只有在數據發生變化時纔會刷新。

  • 在刷新網格並在刷新之後將其重新設置回來之前,可以存儲選定的索引。

1

您不希望在沒有任何條件的情況下每隔4秒刷新一次數據源。正如你所說,有幾個功能問題會受到這個影響(比如失去對一行的關注,雖然可以通過每次將焦點放入一行時存儲行句柄來解決,但不應該是您需要的內容但沒有提到如果您正在加載的表很大,則會出現由於不斷重新加載而導致的性能問題。

您應該在每次DataSource更改時觸發一次刷新,或者Anthbs說,將數據與網格的DataSource進行比較,如果它們不同,則只刷新。

相關問題