从线程更新DataGridView

时间:2014-06-01 18:27:08

标签: database multithreading datagridview

所以我有简单的DataGridView,其行包含name,surname,status。

现在我有另一个子线程,它开始5个线程。每个线程都会完成它的工作并根据结果更新DGV。

问题是为DGV运行线程访问更新方法我必须设置:

_namethread= New Thread(AddressOf namethread)
_namethread.IsBackground = True
_namethread.SetApartmentState(ApartmentState.STA)

使用set STA I最终没有错误但是DGV没有更新且没有任何反应。看起来调用更新方法简单就是跳过(在更新方法上我确实有Application.DoEvents以防万一)

还有另外一件事。我想使用线程来更新数据库,为其他表刷新DGV等等。

我知道如何从线程访问文本框(通过委托方法),但我不知道如何通过SQL查询甚至DHV访问数据库来显示进度。

也许我应该使用事件提升器或其他东西。

你通常如何做到这一点:)? 如果我是正确的,如果我要创建自定义事件,我可以从线程调用它吗?

这个DoEvents是否像其他潜艇一样工作(所以它会逐步通过所有上升的事件,所以例如会更新数据库中的6条记录?)

像队列一样?

我只需要知道我应该在哪个方向上使用线程(因为我想要对非常多线程的应用程序执行)

1 个答案:

答案 0 :(得分:0)

我想我是通过使用代表来解决这个问题的。