我在更改DataGridView的DataSource时遇到问题。 我有一个问题,这真的减慢了我的代码。通过设置DataSource第一次“仅”花费4秒。更改DataSource需要23秒。这是不可接受的(数据库越大,需要的时间越长)
我在这里和那里稍微改变了一下 - 现在我的最糟糕的问题在设置时仍需要0.06秒,在更改数据源时需要3.66秒。
我该如何解决这个问题?它似乎在更改DataSource时删除或写入每一行而不是替换它......
提前致谢:)
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