Bonjour a tous,
je vais essayer d'être très bref car mon problème est assez simple..pourtant..pas moyen de trouver la soluce.
J'ai 2 tables:
client
commande (avec refClient)
J'ai créé un combobox qui affiche l'id du client, et un datagrid avec ses commandes..avec liaison des deux via un DataRelation.
Facile, code trouvable sur beaucoup de site
MAIS Je voudrais maintenant faire ceci, un combo avec l'id de mes commandes,
un datagrid avec la commande (il y en aura toujours qu'une vu que je la selectionne dans le combo, je sais)
et un textbox avec l'email du client
Comment dois-je lier mes colonnes pour que les données se chargent lorsque je selectionne un id de commande dans le combo ??
Extrait du code:
..
//creation de la relation
DataColumn colMaster1 = ds.Tables["Customers"].Columns["CustomerId"];
DataColumn colDetail1 = ds.Tables["Orders"].Columns["refCustomer"];
DataRelation relOrdCust = new System.Data.DataRelation("RelOrdCust", colMaster1,colDetail1);
monDataset.Relations.Add(relOrdCust);
dsView = ds.DefaultViewManager;
// Grid Databinding
gridSOOrders.DataSource = dsView;
gridSOOrders.DataMember = "Orders";
// Combobox Databinding
cbOrderId.DataSource = dsView;
cbOrderId.DisplayMember = "Orders.OrderId";
cbOrderId.ValueMember = "Orders.OrderId";
tbCustEmail.DataBindings.Add("Text", dsView, "Customers.CustomerEmail");
==================
Avec ce code, le combo est bien lié au datagrid mais le texbox affiche l'email de mon premier client, et n'est jamais mis a jours par le combo
Tous les commentaires sont bienvenus !!
Partager