У меня есть datagridview в форме Windows. У меня есть источник привязки и таблица данных, которые создаются во время выполнения, которые я собираюсь использовать для привязки и обновления моего datagridview.
При отладке я вижу, что моя таблица данных заполняется строками. Когда вы открываете визуализатор, я также вижу, что в источнике данных моего источника привязки есть данные.
Моя проблема в том, что мой datagridview остается пустым и, кажется, никогда не получает никаких данных, которые получают мои datatable и bindingsource.
Пример кода:
Private bs1 As New BindingSource
Private TraysToScanDatatable As New DataTable
в моем конструкторе
TraysToScanDatatable.Columns.Add(New DataColumn("time", GetType(DateTime)))
TraysToScanDatatable.Columns.Add(New DataColumn("scanner", GetType(Integer)))
TraysToScanDatatable.Columns.Add(New DataColumn("traynumber", GetType(Integer)))
bs1.DataSource = TraysToScanDatatable
UpdateDataGridView(TraysToReadDataGridView, bs1.DataSource) 'if I do not set my datagridview with a delegate here then I cannot update the binding source in the timer.
обновить логику таймера
TraysToScanDatatable.Rows.Add(New Object() {DateTime.Now, 1, lastScanner1TrayReceived})
Me.bs1.DataSource = TraysToScanDatatable
me.bs1.MoveLast
и моя обновленная подпрограмма
Public Sub UpdateDataGridView(ByVal control As DataGridView, ByVal newdata As DataTable)
If Not control.InvokeRequired Then
control.DataSource = newdata
Else
Invoke(New Action(Of DataGridView, DataTable)(AddressOf UpdateDataGridView), control, newdata)
End If
End Sub