Questione : VB.NET - Databinding e UserControl combinato

Ciao tutti, il

I vogliono sapere che il meglio voglia progettare la funzionalità databinding nel mio usercontrol di usercontrol.

The in se sia fatto da una casella di testo e da una griglia. La griglia sarà visualizzata all'utente e mostrare loro una lista dei campi relativi dalla base di dati (in questo caso nomi dell'artista come il madonna). L'utente seleziona basicamente qualcosa dalla griglia dei usercontrol, questa allora cambierà “l'identificazione„ e “visualizzare„ le proprietà del usercontrol. La proprietà di identificazione dei usercontrol è qui sotto:

, identificazione della proprietà del
() mentre il m_iID del
di Get
di conclusione del m_iID
di Integer
Get
(valore di ByVal come numero intero) = il value
“rinfrescano il binding
RaiseEvent PropertyChanged (me, nuovo System.ComponentModel.PropertyChangedEventArgs (“identificazione„ di dati))

On di Property

di conclusione di Set
di conclusione del
(la proprietà dell'esposizione è esattamente la stessa a meno che cambi la proprietà di .text della casella di testo anziché una variabile riservata) la forma, ho un usercontrol, un Forms.Bindingsource e un codice categoria popolato “del prodotto„ (con un campo valido di ArtistID e dell'artista popolato cioè 123, Madonna). Il controllo dell'utente ha relativa “identificazione„ e “l'esposizione„ sistema il databound al Datasource via il ArtistID ed il codice categoria di prodotto dei campi respectivly.

The dell'artista allora è regolato come il datasource del BindingSource. A questo punto le proprietà dell'esposizione e di identificazione del usercontrol sono aggiornate per abbinare il codice categoria di prodotto che binded al

All di datasource (identificazione = 123 ed esposizione = Madonna) di questo è benissimo, tuttavia quando seleziono un nuovo artista a partire dal UserControl (cioè 456, Michael Jackson), il seguente codice è fatto funzionare nel usercontrol: il

Me.ID„ (456)

del
di oSelectedItem.Description = di/>Me.Display '(Michael Jackson) (oSelectedItem è semplicemente che cosa l'utente ha scelto da una lista di altri artisti) a questo punto, “il ArtistID„ campo cambierà nel codice categoria di prodotto (tracciato al campo di identificazione nel usercontrol ed uguaglierà 456), comunque “l'artista„ proprietà rimarrà inalterato (tracciato al campo di esposizione nel usercontrol, questo rimarrà come “Madonna„ e NON “Michael Jackson ").

a questo punto, il usercontrol ora visualizzeranno il nuovo nome dell'artista (“Michael Jackson "), se lasciamo il usercontrol che il vecchio nome dell'artista è ristabilito dall'oggetto del prodotto e disposto indietro nel

What di usercontrol (“Madonna„ è ristabilito) sono fare errato? Il relativo quasi simile soltanto il primo cambiamento della proprietà sta entrando in vigore e la seconda linea che aggiorna l'esposizione sta essendo ignored.

I using VB.NET 2005.

class= del

Risposta : VB.NET - Databinding e UserControl combinato

Ci sono 2 cose che potreste allora fare.  Uno è invece di direttamente a pubblicare i campi che preferibilmente cambiate il datasource del bindingsource all'oggetto selezionato.  Se l'oggetto selezionato è non disponibile dovete utilizzare control.focus dopo ogni cambiamento del campo quando state pubblicando i campi rilegati nel codice della priorità bassa.

Lasciarlo prego sapere se quello non è chiaro.
Altre soluzioni  
 
programming4us programming4us