vb.net每3秒动态自动刷新datagridview
在我的表单中,我有一个datagridview,它需要每隔2秒自动刷新一次,而无需关闭应用程序。我已经使用了下面的计时器代码来尝试实现这一点。我已将此代码放在我的表单加载中,这也是我的datagridview代码所在的位置:vb.net每3秒动态自动刷新datagridview,vb.net,datagridview,timer,refresh,Vb.net,Datagridview,Timer,Refresh,在我的表单中,我有一个datagridview,它需要每隔2秒自动刷新一次,而无需关闭应用程序。我已经使用了下面的计时器代码来尝试实现这一点。我已将此代码放在我的表单加载中,这也是我的datagridview代码所在的位置: Dim timer As New Timer() timer.Interval = 2000 AddHandler timer.Tick, AddressOf timer_Tick timer.Start() Private Sub timer_Tick(ByVa
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做的。我做错了什么?
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
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
要刷新数据,您必须再次运行查询而不是
refresh
,这是DataGridView
还是DataGrid
它们是不同的?DataGridView,但是我需要它每3秒自动执行一次,但是如果我再次运行查询,它不会在应用程序中对datagridview执行操作吗?除非您要求它执行操作,否则它不会运行查询。因此要刷新数据,您必须再次运行查询,而不是刷新,这是一个DataGridView
还是一个DataGrid
它们是不同的?DataGridView,但我需要它每3秒自动执行一次,但是如果我再次运行查询,它不会只执行,如果我对应用程序中的DataGridView执行了一些操作。除非您要求它执行操作,否则它不会运行查询。啊,它成功了!我现在明白你的意思了!谢谢!还有一个问题,我用这个方法更新了我的组合框,但是当我选择了组合框时,我怎么才能停止刷新呢。你可以创建一个类级别的布尔变量并根据需要切换对不起,我应该把它放在哪里。。。我有一个选择索引,你必须考虑它所做的背后的逻辑,如果他们选择一些东西,然后切换到FALSE,那么是什么使它变回呢?考虑一下这个问题吧。我现在明白你的意思了!谢谢!还有一个问题,我用这个方法更新了我的组合框,但是当我选择了组合框时,我怎么才能停止刷新呢。你可以创建一个类级别的布尔变量并根据需要切换对不起,我应该把它放在哪里。。。我有一个选择索引,你必须考虑它所做的背后的逻辑,如果他们选择一些东西,然后切换到FALSE,那么是什么使它变回呢?考虑把这个问题分开。