C'è un piccolo problemino quando si tenta di richiamare il metodo Find di un BindingSource che ha come DataSource una tabella child in una relazione Master/Detail.
Se, ad esempio, abbiamo una tabella Master (parent) così costituita:
Fattura
ID
Numero
Data
RagioneSociale
E la relativa tabella Detail (child):
DettFatt
ID
IDFattura
IDArticolo
Quantita
Supponiamo ora che volessimo trovare la posizione del record, in DettFatt, con IDArticolo=23, basta fare:
Private Function PosizioneDett(ByVal IDArticolo as integer) as integer Dim Pos as integer Pos = Me.DettFattBindingSource.Find("IDArticolo",IDArticolo) Return PosEnd Sub
Ma c'è un problema.
Se il BindingSource ha come DataSource una DataTable child in una relation, la Find potrebbe non funzionare, sollevando un eccezione del tipo:
"DataMember property 'IDArticolo' cannot be found on the DataSource."
Perchè ho scritto "potrebbe"?Beh, perchè dipende.
L'errore succede solo se il...