Combobox et valeur retournée

trdev Messages postés 35 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 28 novembre 2008 - 3 mars 2006 à 10:37
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 - 3 mars 2006 à 16:57
Bonjour

J'ai 2 tables lié par un champ integer "Id" .
j'ai fait un Winform sur la table 2, dans lequel je veux ajouter une combobox affichant un champ de la table 1 mais me retournant la valeur du champ "Id"de la table et mettant a jour le champ "Id" de la table 2

Y a t'il un moyen de faire cela automatiquement avec les propriétés DateaSource, valueMember, DisplayMember ?
(j'arrive à faire affichier le champ voulu de la table 2, mais cela ne mets pas a jour le champ "Id" de la table 1)

5 réponses

ProphetKy Messages postés 100 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 16 juin 2006 2
3 mars 2006 à 15:29
Via les propriétés non, enfin je pense pas, car le datasource ne peut être que un seul objet (DataTable, Array, ... )
Ce que je ferais c est créer une classe avec simplement un Texte et un ID.
Et tu ajoute ces objets avec une boucle dans la combo.

Par la suite, tu récupère l'objet avec la méthode SelectedItem.
0
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
3 mars 2006 à 16:34
?!?!?!?

//Prenons une combobox avec une list d'organisme :

DataViewManager dsView = Dataset1.DefaultViewManager;

cmbOrgNom.DataSource = dsView;
cmbOrgNom.DisplayMember = "DtOrganismes.Nom";
cmbOrgNom.ValueMember = "DtOrganismes.IdOrganisme";

//et une deuxieme avec les nom des interlocuteurs de cet organisme :

cmbNomInterloc.DataSource = dsView;
cmbNomInterloc.DisplayMember = "DtOrganismes.DtOrganismes_DtInterlocuteur.Nom"; // Nom de la table principal, Nom de la relation et nom du champ dans la table fille
cmbNomInterloc.ValueMember = "DtOrganismes.DtOrganismes_DtInterlocuteur.IdInterlocuteur"; // Meme chose

//et si c t une textbox par exemple :

txtNomInterloc.DataBindings.Add("Text", dsView, "DtOrganismes.DtOrganismes_DtInterlocuteur.Nom");

et pis je croie que c'est tout... ca marche tt seul après

j'ai pas testé mais il me semble que c comme ca, si mes souvenir sont bon...

<hr>ZeBobo5 - http://blogs.msdn.com/zebobo5/
N'oubliez pas de cloturer votre post.
0
ProphetKy Messages postés 100 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 16 juin 2006 2
3 mars 2006 à 16:39
Re Zebobo5,

Est ce que ta solution fonctionnerais pour afficher dans une grille, la jointure ( relation ) entre deux datatables, si oui as tu un exemples ??
0
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
3 mars 2006 à 16:42
oui sans probleme, dans ce cas, il fo utiliser la facon combobox et au lieu d'utiliser cmbNomInterloc(combobox), utilise une datagridview

<hr>ZeBobo5 - http://blogs.msdn.com/zebobo5/
N'oubliez pas de cloturer votre post.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
3 mars 2006 à 16:57
Lien d'exemple : ici

<hr>ZeBobo5 - http://blogs.msdn.com/zebobo5/
N'oubliez pas de cloturer votre post.
0
Rejoignez-nous