【问题标题】:Dynamically auto refresh datagridview every 3 seconds vb.net每3秒动态自动刷新datagridview vb.net
【发布时间】:2015-02-03 01:09:43
【问题描述】:

在我的表单中,我有一个 datagridview,需要每 2 秒自动刷新,而无需关闭应用程序。我已经使用以下计时器代码来尝试实现这一目标。我已将此代码放在我的表单加载中,这也是我的 datagridview 代码所在的位置:

 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。我的数据网格已连接到 Access 数据库并且未绑定,我使用 SQL 进行了绑定。我做错了什么?

【问题讨论】:

  • 要刷新数据,您必须再次运行查询,而不是 Refresh
  • 另外,这是DataGridView 还是DataGrid,它们不同吗?
  • DataGridView,但我需要它每 3 秒自动执行一次,但如果我再次运行查询,如果我对应用程序中的 datagridview 执行某些操作,它不会这样做。
  • 除非您要求,否则它不会运行查询

标签: vb.net datagridview timer refresh


【解决方案1】:

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

【讨论】:

  • 啊,成功了!我明白你现在的意思了!非常感谢!
  • 只是另一个问题,我已经使用此方法更新了我的组合框,但是当我选择了组合框时,如何停止刷新。
  • 您创建一个类级别的布尔变量并根据需要进行切换
  • 对不起,我会把那个放在哪里...我有一个 selectedindexchanged
  • 你必须考虑它在做什么背后的逻辑,如果他们选择了一些东西然后切换到 false,那么是什么切换回来?考虑将此作为单独的问题/帖子。
猜你喜欢
  • 2019-04-11
  • 1970-01-01
  • 2018-02-18
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多