Vb.net 如何从DataGridView更改数据源绑定
更改DataGridView的数据源时出现问题。 我有一个问题,这真的减慢了我的代码。第一次设置数据源只需4秒。更改数据源花费了23秒。这是不可接受的,数据库越大,花费的时间越长 我在这里和那里做了一些改变-现在我最糟糕的问题仍然是设置时需要0.06秒,更改数据源时需要3.66秒 我该如何解决这个问题?它似乎在更改数据源而不是替换数据源时删除或写入每一行 提前感谢:Vb.net 如何从DataGridView更改数据源绑定,vb.net,optimization,datagridview,dataset,Vb.net,Optimization,Datagridview,Dataset,更改DataGridView的数据源时出现问题。 我有一个问题,这真的减慢了我的代码。第一次设置数据源只需4秒。更改数据源花费了23秒。这是不可接受的,数据库越大,花费的时间越长 我在这里和那里做了一些改变-现在我最糟糕的问题仍然是设置时需要0.06秒,更改数据源时需要3.66秒 我该如何解决这个问题?它似乎在更改数据源而不是替换数据源时删除或写入每一行 提前感谢: Private Sub getData(ByVal selectCommand As String) Try
Private Sub getData(ByVal selectCommand As String)
Try
Dim connectionString As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;" &
"Data Source=" & dbPath & ";"
Dim ds As DataSet
Dim dt As DataTable
Dim da As OleDbDataAdapter
Dim cb As OleDbCommandBuilder
ds = New DataSet()
da = New OleDbDataAdapter(selectCommand, connectionString)
cb = New OleDbCommandBuilder(da)
da.Fill(ds, "Main")
dt = ds.Tables("Main")
Dim z As Integer = 0
For Each item As String In lstColumnNames
dt.Columns(z).ColumnName = item
z += 1
Next
If bs.DataSource IsNot Nothing Then bs.DataSource = Nothing
' v v v v v * Problem seems to be here * v v v v v
bs.DataSource = dt
' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
Catch ex As OleDbException
MessageBox.Show(ex.Message)
End Try
End Sub
这个返回多少行?如果太多,你可以把它过滤成更小的一块。我的意思是没有人喜欢滚动1000行数据,对吗?你需要在虚拟模式下运行网格。下面是一个演练: