Pytanie : VB.NET - Databinding i Combo UserControl

Cześć Siatka,

I chcieć the best chcieć the databinding funkcjonalność siatka w mój usercontrol.

The usercontrol zrobić od textbox i siatka. The siatka wystawiać the użytkownik i lista istotny pole od the baza danych (W tym wypadku Artysta imię jak madonna). The użytkownik podstawowy wybierać usercontrol z the usercontrol's siatka, usercontrol wtedy zmieniać the "ID" i "Wystawiać" własność the usercontrol. The usercontrol's ID własność być być:

,
Własność ID () Gdy Integer
Get
Powrotny m_iID
Końcówka Get
Ustalony (ByVal wartość Jako Integer)
m_iID = value
"odświeżać the dane binding
RaiseEvent PropertyChanged (, Nowy System.ComponentModel.PropertyChangedEventArgs ("ID"))
Końcówka Set
Końcówka Property

(The Pokaz własność być dokładnie the być oprócz ono zmieniać the textbox .text własność zamiast intymny zmienna)

On the forma, i mieć usercontrol, Forms.Bindingsource i ludnościowy "Produkt" klasa (z ważny Artysta i ArtistID pole zaludniać i.e. 123, Madonna). The użytkownik kontrola mieć swój "ID" i "Pokaz" odpowiadać databound the Datasource przez the ArtistID i Artysta pole respectivly.

The produkt klasa wtedy ustawiać jako the BindingSource's datasource. Przy ten punkt the ID i Pokaz własność the usercontrol aktualizować the produkt klasa który binded the datasource (ID = 123 i Pokaz = Madonna)

All 123 być świetnie, gdy i wybierać nowy artysta od the UserControl (I. e. 456, Michael Jackson), the następujący kod biegać w the usercontrol:

Me.ID = oSelectedItem.ID" (456)
Me.Display = oSelectedItem.Description '(Michael Jackson)
(oSelectedItem być po prostu być the użytkownik wybierać od lista inny artysta)

At ten punkt, the "ArtistID" pole Zmieniać w the Produkt klasa (kartografować the ID pole w the usercontrol i dorównać 456), jednakże the "Artysta" własność zostawać nienaruszony (the pokaz pole w the usercontrol, 456 zostawać "Madonna" i NIE "Michael Jackson ").

At ten punkt, the usercontrol teraz wystawiać the nowy artysta imię ("Michael Jackson "), jeżeli my opuszczać the usercontrol the stary artysta imię wznawiać od the produkt przedmiot i z powrotem w the usercontrol ("Madonna" wznawiać)

What być i robić źle? Swój prawie podobieństwo tylko the pierwszy majątkowy zmiana brać skutek i the drugi linia który aktualizować the pokaz być ignored.

I am using VB.NET 2005.

Odpowiedź : VB.NET - Databinding i Combo UserControl

Tam  być 2 rzecz ty móc wtedy.  Jeden być zamiast bezpośrednio the pole ty zamiast zmieniać the datasource the bindingsource the wybrany przedmiot.  Jeżeli the wybrany przedmiot być niedostępny ty musieć control.focus po tym jak niedostępny śródpolny zmiana gdy ty być edytorstwo obszyty pole w tło kod.

Zadawalać pozwalać jeżeli to być jasny.
Inne rozwiązania  
 
programming4us programming4us