У меня есть решение с несколькими datagridviews (DGV), а теперь несколько связующих источников (BS) и OleDbDataAdapters (ODA).Вспомните, какой DataAdapter из DataTable или DataSet
Это связано с тем, что у меня есть несколько DGV в элементе управления вкладкой, и я хочу показать разные таблицы из базы данных в каждом DGV, а также иметь возможность CRUD вернуться из DGV.
Используя одну BS и ODA, я смог показать все правильные таблицы в правильном DGV, переключив BS.DataMember
, когда я ввел каждую вкладку. Это сработало, потому что у меня только один DGV за вкладку.
Где я столкнулся с проблемами, возвращался в базу данных. Я обнаружил, что большинство примеров, которые я нашел, связаны с использованием BS и ODA для каждой таблицы. Это кажется неэлегантным, поэтому, если бы был способ связать DataSource
DGV с конкретным BS.Datamember
, я бы с удовольствием это узнал.
Согласившись на несколько BS и ODA, я могу вытащить DGV, имя таблицы и BS, необходимые для обновления любых грязных строк на любом из DGV из одного Sub. Я не понял, есть ли способ получить ОПР, которая была использована для первоначального заполнения таблицы. В Коде:
Private Sub UniversalDGV_Handler_LeaveRow(sender As Object, e As DataGridViewCellEventArgs) _
Handles DGV1.RowLeave, DGV2.RowLeave, '...' DGVn.RowLeave
Dim DGV As DataGridView = CType(sender, DataGridView)
Dim bsPass As BindingSource = DGV.DataSource
Dim CurrentDBTableName As String = bsPass.DataMember
Dim da as OleDbDataAdapter = 'something I haven't figured out yet
UniversalDGV_RowLeave(sender, CurrentDBTableName, e, bsPass, da)
End Sub
Теперь в действительности, наибольшее количество DGV у меня есть 7, так что я только что сделал согласованный список и вытащил ОПР из этого пути. Но снова это кажется очень грубым.
Есть ли способ, чтобы получить который DataAdapter
был использован из-за стола он наполненной, DataSet
он был использован на [БС, или DGV]?
Информация от BS или DGV кажется довольно далекой из-за того, что у меня нет прямого взаимодействия с ODA из моего понимания. Я также думал о возможности хранения информации в наборе данных, поскольку я использовал адаптеры, которые, по крайней мере, были бы более элегантным списком/таблицей.
@GordThompson Извините, что не дал вам знать прошлой ночью, но я понял, как его решить в целом здесь. [Ваш пример] (https://stackoverflow.com/questions/19369617/ds-tables-rows-add-makes-3-rows-when-called-once?answertab=active#tab-top) отлично справился с одним DGV , это была моя работа по расширению ее до нескольких. –