Ludiv60
Messages postés20Date d'inscriptionlundi 25 août 2008StatutMembreDernière intervention24 novembre 2008
-
25 août 2008 à 16:06
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010
-
29 sept. 2008 à 16:07
Bonjour
J'ai créée une appli mais je bute sur un pb de combo depuis un moment maintenant, si quelqu'un peut m'aider. Ca serais trop sympa.
J'ai une table disons table_source qui contient deux champs code et code2, code a une relation avec table2 et code1 avec table3, j'affiche des combox avec les libellés, ca pas de souci
Combo1
me.combobox1.selectedvalue= me.table_source.code
me.combobox1.datasource=me.table2
me.combobox1.displaymember=libellé
me.combobox1.valuemember=code
Combo2
me.combobox2.selectedvalue= me.table_source.code2
me.combobox2.datasource =me.table3
me.combobox2.displaymember=libellé
me.combobox2.valuemember=code
le souci c'est que je veux pouvoir filtrer le deuxième combo en fonction de la valeur du premier combo et là, je bute
J'ai bien essayé de mettre dans la proc selectedvaluechange du premier combo un filtre sur table3 mais ensuite je perd ma liaisons avec mes données de ma table, il filtre bien les données mais il m'affiche le premier éléments de la table3 au lieu de m'afficher l'éléments de ma table_source. C'est comme ci le selectedvalue avait changé alors que ce n'est pas le cas.
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 26 août 2008 à 11:32
Salut,
Sinon utilise deux binding source et utilise la fonction filter...
tu peux également faire un .select sur ta datatable... (ex: dim dtrow as datarow()=datatable.select("Fields='condition'")
@+
youpi :)
Ludiv60
Messages postés20Date d'inscriptionlundi 25 août 2008StatutMembreDernière intervention24 novembre 20081 23 sept. 2008 à 11:20
Bonjour à toutes et à tous,
Je relance ce sujet parce que je suis toujours coincé.
En fait dès que je filtre mon deuxième combo par rapport à la valeur du premier, il m'affiche l'élément 1 de la liste au lieu de m'affiche mon selectedvalue.
Comment faire????
Help me!!!
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 23 sept. 2008 à 11:35
a mon avis tu t'y prend mal.
Je m'exprime: tu peux filtrer sur un bindingsource ce n'est pas le probleme, mais cela dépend du nombre d'enregistrement que tu as. bon on parle de combobox donc une colonne, c'est vrai. Le mieux c'est de jouer sur les bindingsource.
Exemple simple entre deux datagridview, 1 master -> 1 child. quand tu choisis un enregistrement master, il bind automatiquement le child par le binding du lien entre les tables (si tu as pas de lien parent <-> fille (lien d'integrité) ceci ne sert a rien, et fait le par filter)
Résumé simple (il y a pas tout dedans juste le principe)
'
'MasterBindingSource
'
Me.MasterBindingSource.DataMember = "Master"
Me.MasterBindingSource.DataSource = Me.SampleDataSet
'
'ChildBindingSource
'
Me.ChildBindingSource.DataMember = "child"
Me.ChildBindingSource.DataSource = Me.SampleDataSet
'
'MasterchildBindingSource
'
Me.MasterchildBindingSource.DataMember = "Masterchild" 'MasterChild est le nom du lien, vers quoi la datagridview fille pointe....
Me.MasterchildBindingSource.DataSource = Me.MasterBindingSource
Voila c'est tiré du designer sachant que tu peux également le faire avec le wizard et design de visual qui génere automatiquement le code, si tu as déjà préconfiguré ton xsd..
@+
youpi :)
Ludiv60
Messages postés20Date d'inscriptionlundi 25 août 2008StatutMembreDernière intervention24 novembre 20081 23 sept. 2008 à 13:05
J'ai bien des liens d'intégrité entre mes tables mais mon souci c'est que dans mon combo2 ma table source contient une clé primaire double, je pense que c'est ca qui me pose problème. Pour prendre un exemple concret :
j'ai un client pour lequel je peux avoir plusieurs agence
ce client peut emettre une ou plusieurs réclamations,
lors de la saisie d'un dossier, mon user sélectionne un client, et ensuite, je dois lui afficher la liste des agences dispos.
Pour ca, pas de problème mais quand je consulte les dossiers, au lieu de me mettre l'élément sélectionner par mon user, il m'affiche l'élément 1. Ma liste est bonne mon problème vient de l'affichage du display member.
Ludiv60
Messages postés20Date d'inscriptionlundi 25 août 2008StatutMembreDernière intervention24 novembre 20081 23 sept. 2008 à 13:37
j'ai beau essayé, ca ne marche pas, je crois que je vais essayer de supprimer les liens entre les tables.
Ca ne me parait pas logique mais bon, ca vas peut être fonctionné.
Si quelqu'un a une idée pour m'éviter de jeter mon ordi par la fenêtre parce que ca fait trois jours que je suis sur ce p..... de pb et ca m'énerve. Je sais que ca doit être un truc tout bête mais là, je coince....
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 29 sept. 2008 à 14:48
Envoi moi ta base par mail si c du access... sinon si c'est du SQL serveur donne moi le schema (xsd ou visio comme tu veux)
Si tu veux me donner ta source cela serait po mal non plus cela m'eviterai de trop reconstruire... mais bon...
si t ok demande moi mon mail par message perso...
@+
youpi :)