Combo, select append etc...

Signaler
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
-
Bonsoir


J'essaye de m'accoutumer au fonctionnement d'un combo
Mais il y a encore beaucoup d'inconnue


Je travaille avec un Combo ayant comme datasource une table chargée par query


Tout d'abbord qq peut-il m'expliquer les différences entre
Suggest, Append et SuggestAppend,
J'ai essayé les trois, je ne vois aucune différence et j'ai pas compris la doc  ?
a quoi servent les autres propriétes autocomplete ?


Pratiquement il y a deux choses que j'aimerais faire


La premiere c'est permettre a l'utilisateur de ne selectionner rien du tout : mettre la selection a blanc, SANS devoir ajouter une row vide dans la datatable : est ce possible ?


La deuxieme c'est de permettre a l'utilisateur d'ajouter des valeurs (ca je vois un peu comment faire, mais je ne m'y lancerai que quand j'aurai bien compris le reste)

3 réponses

Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
Bonjour

En chipotant un peu j'ai trouvé une solution amusante et intéressante
Le challenge etait d'avoir dans mon combo une valeur vide permetant a l'utilisateur de selectionner "rien"
Sachat que 
1- Mon combo est rempli  par une table chargée par un query 
2- Je dois pouvoir utiliser ce query pour des maj eventuelle a l'aile de MySqlCommandBuilder

Voici la solution

   private void FillCmbCont()
    {
// Je fais un union dans le select pour crer des valeurs bidon
      string selectcmd = "SELECT * FROM `containers` union select '','','','','' from containers order by Scan_Num";
      adaContFull.SelectCommand = new MySqlCommand(selectcmd, MyConn.conn);
      adaContFull.Fill(dsContFull);



//  Mon nouveau probleme c'est que mon select es maintenant impropre a la consomation pour MySqlCommandBuilder
// Tant pis je truque en recreant un query simple comme si j'avais pas fait d'union
      MySqlCommand cmd = new MySqlCommand("SELECT * FROM `containers` order by Scan_Num", MyConn.conn);
      adaContFull.SelectCommand = cmd;
// et hop le tour est joué Update n'y verra que du feu !!


      cmb_Cont.DataSource = dsContFull.Tables[0];
      cmb_Cont.DisplayMember = dsContFull.Tables[0].Columns["Scan_Num"].Caption;


    }
Messages postés
233
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
25 octobre 2010

"La premiere c'est permettre a l'utilisateur de ne selectionner rien du
tout : mettre la selection a blanc, SANS devoir ajouter une row vide
dans la datatable : est ce possible ?"

as tu essayé de faire
cmb_Cont.SelectecIndex = -1;
il me semble que ca marchait...
pour tous autres question, je peux pas t'aider, j'ai pas utilisé ses options encore...

Nul ne devient grand par la guerre...
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
Ca marche je pense aussi

Mais ce n'est pas l'intention : ca c'est bon pour afficher par défaut un combo vide, mae des que l'utilisateur chipotte avec, ca ne sert plu. Ce qu'il faut c'esr pouvoir ajouter une row blanche

D'autant que comme tu l'a vu, derriere mon combo, j'ai une datatable dont juste une colonne sera affichée et si l'utilisateur decide de ne rien choisir, il faut pouvoir revenir a cette zone vide qui n'existe pas a l'origine du datasource

Donc jusqu'a preuve du contraire, je trouve que ma solution a des atouts !