Salve a tutti, ho il seguente problema:
Ho un oggetto chiamato TAbbinamenti strutturato come segue:
Imports System.Data.Sql
Public Class TAbbinamenti
Private _bindingsource As BindingSource
Private _tabella As String
Public Property Bindingsource() As BindingSource
Get
Return _bindingsource
End Get
Set(ByVal Value As BindingSource)
_bindingsource = Value
End Set
End Property
Public Property Tabella() As String
Get
Return _tabella
End Get
Set(ByVal Value As String)
_tabella = Value
End Set
End Property
Public Sub New(ByVal inputbs As BindingSource, ByVal inputtb As String)
Bindingsource = inputbs
Tabella = inputtb
End Sub
End Class
A questo punto creo una lista di oggetti di questo tipo che contengono tutti i bindingsource e le tabelle di riferimento di un mio dataset in cui ho caricato i dati da un database in SQL Express. Le tabelle che andranno caricate nel dataset sono una tabella padre e N tabelle figlie legate da relazione 1-molti anche a livello di dataset. Ogni tabella ha il suo bindingsource separato correttamente bindato a tabella o relazione. Ora prendiamo ad esempio la tabella padre A e la figlia B avranno bindingsource BsA e BsB caricati nella lista di TAbbinamenti.
Ora copio una riga della tabella A e tutte le righe delle tabelle figlie con relazione alla riga nella tabella A in un dataset di supporto.
A questo punto voglio inserire quelle righe nel dataset di supporto in un nuovo record della Tabella A e tutte le righe figlie nelle rimanenti tabelle.
Ho letto che bisogna catturare l'evento addingnew del bindingsource e come letto su svariati forum ho fatto quanto segue:
Se chiamo Esempio() da un pulsante la procedure termina correttamente ma sui datagrid bindati ai vari bindingsource non appare nulla.
Se nella Esempio cambio toggetto.Bindingsource con ad esempio BsA allora funziona, ma dovrei farlo per tutti i bindingsource figli e non mi sembra una cosa possibile !!!
Spero di essermi spiegato e spero che qualcuno mi possa togliere da questo casino :(