2009-11-30 3 views
0

J'ai une base de données SQLite simple que j'utilise pour suivre les factures. J'ai récemment décidé d'écrire une demande pour cela comme une excuse pour apprendre LINQ. J'ai trouvé other questions qui résolvent ce problème, mais aucune des solutions n'a fonctionné pour moi.Liaison d'une zone de liste déroulante à l'aide d'un DataContext et de LINQ to SQL

Utilisation du concepteur O/RM, je modélise ma base de données similaire à ce qui suit (simplifié):

+------------+   +----------+ 
| Invoice |   | Customer | 
+------------+   +----------+ 
| ID   |  +----| ID  | 
| CustomerID |<-----+ | Name  | 
+------------+   +----------+ 

Cela fonctionne très bien pour lier la table factures à une liste et de voir une liste de clients, mais je ne suis pas tout à fait comment lier la table des clients à un ComboBox tout en montrant le Customer pour la facture.

Voici le code qui établit la liaison:

InvoiceList.DataSource = _db.Invoices; // InvoiceList is ListBox 
CustomerBox.DataSource = _db.Customers; // CustomerBox is ComboBox 
CustomerBox.DataBindings.Add("SelectedItem", InvoiceList.DataSource, "Customer"); 

Dans ce cas, _db est le DataContext généré par le O/RM.

Lorsque je sélectionne différents articles dans la liste des factures, la boîte du client ne semble pas afficher les modifications que j'ai apportées. Des pointeurs comment corriger cela? Y a-t-il une meilleure façon de configurer cette liaison?

Répondre

1

Avez-vous regardé en utilisant un BindingContext?

Et voici un peu moins opaque description :)

+0

J'ai joué avec elle et qui semblait aider. D'une certaine façon, je suis retourné à mon code original et ça fonctionne maintenant. Ça me dérange ... Merci pour l'aide. – jheddings

Questions connexes