2014-12-04 205 views
-1

在我的表單中,我有一個datagridview,它需要每隔2秒自動刷新一次,而不必關閉應用程序。我已經使用下面的計時器代碼來嘗試實現這一點。我把這段代碼在我的形式加載,這也是在我的datagridview的代碼是:每3秒動態自動刷新一次datagridview vb.net

Dim timer As New Timer() 
timer.Interval = 2000 
AddHandler timer.Tick, AddressOf timer_Tick 
timer.Start() 

Private Sub timer_Tick(ByVal sender As Object, ByVal e As EventArgs) 

    Me.DataGridView1.Refresh() 

End Sub 

然而,它是所有的閃爍和實際上並不刷新的datagridview。我的datagrid連接到Access數據庫,並且是未綁定,我用SQL做了。我究竟做錯了什麼?

+1

要刷新數據,你必須再次運行該查詢不'Refresh' – OneFineDay 2014-12-04 23:31:26

+0

此外,這是一個'DataGridView'或'DataGrid'他們有什麼不同? – OneFineDay 2014-12-04 23:32:18

+0

DataGridView,但我需要它每3秒自動執行一次,但是如果再次運行查詢則不會僅僅是如果我在應用程序中對datagridview執行了某些操作。 – wwrwer 2014-12-04 23:39:31

回答

3

DGV.Refresh告訴程序重畫控件。您需要重新運行獲取數據並重新調用它的過程。

Private Sub timer_Tick(ByVal sender As Object, ByVal e As EventArgs) 
    UpdateDGV() 
End Sub 

Private Sub UpdateDGV() 
    'run sql stuff in here 
End Sub 
+0

啊,它的工作!我明白你的意思了!非常感謝! – wwrwer 2014-12-04 23:42:49

+0

歡迎您! – OneFineDay 2014-12-04 23:43:29

+0

只是另一個問題,我用這種方法來更新我的組合框,但是當我選擇組合框時,我怎樣才能阻止它刷新。 – wwrwer 2014-12-05 00:56:32