olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
7 févr. 2008 à 21:20
bidou_01
Messages postés134Date d'inscriptiondimanche 1 octobre 2006StatutMembreDernière intervention19 mai 2008
-
8 févr. 2008 à 09:21
bonjour
j'aimerais utiliser un combo box afin de choisir une valeur permettant de faire un query avec filtre "where"
ce combo box est lui meme rempli a l'aide de valeurs d'un select dans une table
pour cela je fais
combobox.displaymember="display field"
combobox.valuemember="value field"
combobox.datasource=dataset.table[0]
MAIS
cela me donne la liste de tous les elements existants dans la table, ni plus ni moins.
disons : "rouge","vert","bleu"
j'aimerais ajouter une valeur suplementaire "TOUT" indépendante du contenu du dataset afin de permettre de faire un select SANS le filtre de la valeur demandée
donc si je choisis "rouge","vert" ou "bleu" je lance le query avec un where
mais si je vois "TOUT" je fais un query sans where
La question : sachant que mon dataset servant de datasource est rempli par un query mysql comment est il possible d'ajouter cette valeur "TOUT" pour qu'elle soit active dans le combobox.
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 7 févr. 2008 à 21:58
Merci
C'est peut etre la bonne methode
mais deux chose me perturbaient
1- ne pas alterer la db
2- comment recuperer la reference du row que j'ajoute au dataset ?
Pour contouner ces deux point j'ai pris un chemin peut etre un peu lourd :
a) utiliser une table temporaire copie de la table dataset
DataTable dtTmp = dschauff.Tables[0];
b) creer une row en recupérant sa reference
DataRow _row = dtTmp.NewRow();
c) ajouter les données
bidou_01
Messages postés134Date d'inscriptiondimanche 1 octobre 2006StatutMembreDernière intervention19 mai 20081 7 févr. 2008 à 22:02
Hum,
Effectivement y'a risque d'altération de la base. Sinon une idée toute bête me vient ==> pourquoi ne pas passer par l'intermédiaire d'une List regroupant tes valeurs, auquel tu ajouterais un item... Au moins on se détache un peu de la base :)
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 7 févr. 2008 à 22:36
Merci,
Oui c'etait ma premiere idée
a) utiliser une table temporaire copie de la table dataset
DataTable dtTmp = dschauff.Tables[0];
b) creer une row en recupérant sa reference
DataRow _row = dtTmp.NewRow();
c) ajouter les données
_row["chauffeurID"] = 0;
_row["naam"] = "ALL";
d) charger le combobox
dtTmp.Rows.Add(_row);
Tu vois plus simple ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
bidou_01
Messages postés134Date d'inscriptiondimanche 1 octobre 2006StatutMembreDernière intervention19 mai 20081 8 févr. 2008 à 09:21
Hello,
Comme je te l'ai dit, tu pourrais passer par une Collection (Liste<T>, ArrayList ..). Charger ton DataSet dans la Collection, ajouter ta valeur, puis binder la collection à ta comboBox.
Mais au final je ne suis pas sur que ce soit plus simple, ni même mieux :)