У меня есть код VB.net для извлечения данных с SQL-сервера (хранимой процедуры) в Datagridview (dgMC). все работало нормально, но progressbar1 не обновляется. я хотел бы progressbar1 показывает обновление в процентах, если пользователь знает статус получения данных. данные около 1000K.Как обновить панель прогресса при извлечении данных из базы данных в datagridview VB.NET
Friend Delegate Sub SetDataSourceDelegate(table As DataTable)
Private Sub setDataSource(table As DataTable)
' Invoke method if required:
If Me.InvokeRequired Then
Me.Invoke(New SetDataSourceDelegate(AddressOf setDataSource), table)
Else
dgMC.DataSource = table
ProgressBar1.Visible = False
End If
End Sub
Private Sub loadTable()
Dim cnn As SqlConnection = GetConnection()
Dim cmdSearch As New SqlCommand("MC_Display", cnn)
cmdSearch.CommandType = CommandType.StoredProcedure
Try
cnn.Open()
Dim readerSearch = cmdSearch.ExecuteReader
If readerSearch.HasRows Then
Dim dt = New DataTable()
dt.Load(readerSearch)
setDataSource(dt)
Else
Me.Cursor = Cursors.Default
MsgBox("No Data Found.", MsgBoxStyle.Exclamation)
dgMC.DataSource = Nothing
End If
readerSearch.Close()
Catch ex As Exception
Throw ex
Finally
cnn.Close()
End Try
End Sub
Private Sub btnGoMC_Click(sender As Object, e As EventArgs) Handles btnGoMC.Click
ProgressBar1.Visible = True
ProgressBar1.Style = ProgressBarStyle.Marquee
Dim thread As New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf loadTable))
thread.Start()
End Sub
Я но получил сообщение msg: «Run» не входит в «Task». – Sokea
Какая версия платформы .NET предназначена для таргетинга? – davidallyoung
после изменения на .NET 4.5 в порядке, но все же прогрессbar1 не обновляется, и пользовательский интерфейс кажется не ответом. – Sokea