У меня есть приложение с DataGridView, это просто набор столбцов и 3 кнопки.DataGridView и обновление данных об изменениях
Когда я выбираю кнопку «Get Lead», я хочу, чтобы столбец «Назначенный» изменился на «Assigned», который у меня получился нормально, когда кнопка «Lead Lead» обновляет таблицу SQL в фоновом режиме.
То, что он не делает, это обновить DataGridView в реальном времени, поэтому я добавил метод TableAdapter.Fill после нажатия кнопки, проблема в том, что он перемещает местоположение курсора и перерисовывает весь DataGridView.
Хотя он выполняет то, что я хочу, он выглядит бедно с точки зрения пользователя.
Как это разрешить, если мои полосы прокрутки были перемещены, и я выбрал «Получить свинец», а столбец был изменен на «Назначить», чтобы DataGridView сразу отражал данные в базе данных без «перерисовки» DataGridView.
Это мой код, когда я нажимаю кнопку в вопросе:
Private Sub LeadsDGV_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles LeadsDGV.CellContentClick
Try
Dim senderGrid = DirectCast(sender, DataGridView)
If TypeOf senderGrid.Columns(e.ColumnIndex) Is DataGridViewButtonColumn AndAlso e.RowIndex >= 0 Then
If LeadsDGV.Columns(e.ColumnIndex).Name = "GetLeadBtn" Then
LMSMainTableAdapter.GetLead(ActiveDirectory.ADUsername, LeadsDGV.Rows(e.RowIndex).Cells(0).Value())
ElseIf LeadsDGV.Columns(e.ColumnIndex).Name = "AssignLeadBtn" Then
'MsgBox("Row Index " & e.RowIndex & " Column: " & LeadsDGV.Columns(e.ColumnIndex).Name)
ElseIf LeadsDGV.Columns(e.ColumnIndex).Name = "DelLeadBtn" Then
LMSMainTableAdapter.DeleteLead(ActiveDirectory.ADUsername, LeadsDGV.Rows(e.RowIndex).Cells(0).Value())
LMSMainTableAdapter.Fill(LMSDataset.LMS_MainLeads)
End If
End If
Catch ex As Exception
Logging.ReportError(ex)
End Try
End Sub