Vb.net 使用后台工作程序逐行填充DataGridView

Vb.net 使用后台工作程序逐行填充DataGridView,vb.net,multithreading,datagridview,backgroundworker,Vb.net,Multithreading,Datagridview,Backgroundworker,当用户打开表单时,表单中有一个数据网格,它需要一秒钟来加载所有数据。看起来我的应用程序会挂起一段时间 因此,我想逐行显示数据网格视图中的数据,以向用户显示从数据库中获取的数据 我正在使用以下代码: connection.open() dim ds as new dataset dim adp as sqldataadapter = new sqldataadapter("select * from table1",connection) adp.fill(ds,"table1") datagri

当用户打开表单时,表单中有一个数据网格,它需要一秒钟来加载所有数据。看起来我的应用程序会挂起一段时间

因此,我想逐行显示数据网格视图中的数据,以向用户显示从数据库中获取的数据

我正在使用以下代码:

connection.open()
dim ds as new dataset
dim adp as sqldataadapter = new sqldataadapter("select * from table1",connection)
adp.fill(ds,"table1")
datagridview.datasource=ds
datagridview.datamember=table
datagridview.refresh()
connection.close()

我该怎么做?

你不能。在检索到所有数据之前,对
Fill
的调用不会返回。您可以使用数据读取器,但这样会导致加载时间明显延长。您应该做的是将光标更改为沙漏或等效物。这是Windows的标准,用于向用户指示几十年来正在进行后台工作。要执行JMCILHINEY建议的操作,您可以使用
datagridview.Cursor=Cursors.WaitCursor
。那么如何在datagridview中逐行显示数据呢?