Ajout de valeur dans un combo bindé

Résolu
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 7 mars 2008 à 11:39
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 7 mars 2008 à 11:57
Bonjour,

J'ai pas mal sué pour savoir comment ajouter une valeur dans un combo bindé

Non pas comment ajouter la valeur au datasource mais comment gerer le comportement du combo pour savoir quand ajouter une valeur
Ci apres, j'utilise la touche '+' pour dire qu'il faut ajouter la valeur (mais je teste quand meme si elle n'existe pas)

Il reste UN probleme : c'est comment digerer le '+' pour ne pas le faire apparaitre dans le champ apres ajout ?

    private void cmb_post_KeyDown(object sender, KeyEventArgs e)
    {
      if (e.KeyCode == Keys.Add)
      {
        add_Post(((ComboBox)sender).Text);
      }
    }
    // *********************************************************
    private void add_Post(string Post)
    {
       int Cp=0;


       int.TryParse(Post, out Cp);
       if (isNewCp(Cp))
      { 
          DataRow r = dsCP.Tables[0].Rows.Add();
          r["PostCode"] = Cp;
      }
      cmb_post.SelectedValue = Cp;     
    }

3 réponses

olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
7 mars 2008 à 11:57
Merci,

Tu m'a mis sur la voie, voici ce qu'il faut faire

e.SuppressKeyPress =

true;
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
7 mars 2008 à 11:42
Pas les moyens de vérifier, mais dans la variable 'e' tu n'a pas une propriétés qui ressemble à "Handled" ?  si oui, mets la à true lorsque tu traite l'appui sur "+", elle devrait signifier que l'appui sur la touche à été pris en compte (et que donc il ne devrait pas être interprété ensuite)

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
7 mars 2008 à 11:52
Salut

Oui, handled est bien la

Mais si je met a true, ca change rien, le plus est toujours dans les pieds

je tappe 7777+
j'ajoute 7777
et je vois +7777 au retour

private
void cmb_post_KeyDown(
object sender,
KeyEventArgs e)
{

   if (e.KeyCode ==
Keys.Add)
  {
     e.Handled=
true;
     add_Post(((
ComboBox)sender).Text);
  }
}
0
Rejoignez-nous