IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Comment faire en sorte qu'un ComboBox n'affiche rien avant que l'utilisateur ne fasse son choix? [Débutant]


Sujet :

VB.NET

  1. #1
    Membre régulier

    Profil pro
    Retraité (Travailleur autonome)
    Inscrit en
    Octobre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité (Travailleur autonome)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 82
    Points : 75
    Points
    75
    Billets dans le blog
    1
    Par défaut Comment faire en sorte qu'un ComboBox n'affiche rien avant que l'utilisateur ne fasse son choix?
    Bonjour à tous,

    Encore une fois, j'ai besoin de vos lumières.

    J'ai, dans mon application, plusieurs ComboBox qui contiennent des options que l'utilisateur peut ou non choisir. En effet, il arrive qu'un de ces ComboBox ne requiert pas qu'il soit saisi. Dans ce cas, comme dans tous les autres, je ne veux pas qu'une valeur par défaut apparaisse.

    Voici comment je procède:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
        Private dtOrdre1 As New DataTable
        Private dtOrdre2 As New DataView
        Private dtOrdre3 As New DataView
        Private dtOrdre4 As New DataView
     
            dtOrdre1.Columns.Add("No Dossier")
            dtOrdre1.Columns.Add("Ordre")
     
            dtOrdre1.Rows.Add(Ordre.Croissant, "Croissant")
            dtOrdre1.Rows.Add(Ordre.Décroissant, "Décroissant")
            dtOrdre1.Rows.Add(Ordre.Aucun, "Aucun")
     
            ComboOrdre1.DataSource = dtOrdre1
     
            'Les Combos 2, 3 et 4 sont remplis à partir d'un DataView
     
            dtOrdre2 = New DataView(dtOrdre1)
            dtOrdre3 = New DataView(dtOrdre1)
            dtOrdre4 = New DataView(dtOrdre1)
     
            ComboOrdre2.DataSource = dtOrdre2
            ComboOrdre3.DataSource = dtOrdre3
            ComboOrdre4.DataSource = dtOrdre4
     
            ComboOrdre1.DisplayMember = "Ordre"
            ComboOrdre2.DisplayMember = "Ordre"
            ComboOrdre3.DisplayMember = "Ordre"
            ComboOrdre4.DisplayMember = "Ordre"
     
            ComboOrdre1.ValueMember = "No Dossier"
            ComboOrdre2.ValueMember = "No Dossier"
            ComboOrdre3.ValueMember = "No Dossier"
            ComboOrdre4.ValueMember = "No Dossier"
    Mais voilà, tous ces Combos affichent le texte "Croissant" par défaut. J'ai essayé en mettant la propriété "Text" à "" (Null) pour chacun d'eux mais rien ne change.

    Merci de votre aide.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Tu peux le cacher ou l'afficher avec la propriété Visible

    Tu peux le rendre inaccessible à l'utilisateur avec la propriété Enabled (Mais le code peut l'utiliser quand même)


    P.S En passant, tu peux utiliser un type Enum (une énumération) pour définir et choisir tes options de tri. Mais bon si ta méthode actuelle fonctionne à ton goût, tu peux attendre la version 2.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 175
    Points
    17 175
    Par défaut
    Salut

    Si tu code ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            dtOrdre1.Rows.Add(Ordre.Aucun, "Aucun")
            dtOrdre1.Rows.Add(Ordre.Croissant, "Croissant")
            dtOrdre1.Rows.Add(Ordre.Décroissant, "Décroissant")
    C'est Aucun qui sera par défaut affiché, c'est peut être suffisant non ?
    Une autre proposition,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            dtOrdre1.Rows.Add(Ordre.nochoix, "Votre choix")
            dtOrdre1.Rows.Add(Ordre.Aucun, "Aucun")
            dtOrdre1.Rows.Add(Ordre.Croissant, "Croissant")
            dtOrdre1.Rows.Add(Ordre.Décroissant, "Décroissant")
    Dans ce cas c'est Votre choix qui apparait en défaut, il ne reste plus qu'a vérifier au moment de la validation et de demander à faire le choix si Votre choix est resté en l'état.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre régulier

    Profil pro
    Retraité (Travailleur autonome)
    Inscrit en
    Octobre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité (Travailleur autonome)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 82
    Points : 75
    Points
    75
    Billets dans le blog
    1
    Par défaut
    Merci encore,

    Je suis vraiment bête. Je me suis souvenu de VBA, alors qu'il est possible de cacher les options d'un combo avec l'instruction ComboBox1.ListIndex = -1

    Par contre, en VB, ce devrait être: ComboBox1.SelectedIndex = -1.

    Et ça marche.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/03/2016, 20h22
  2. Réponses: 1
    Dernier message: 10/10/2008, 16h23
  3. Comment faire en sorte que le prog se fasse répéter
    Par LeonHONORE dans le forum Pascal
    Réponses: 3
    Dernier message: 20/04/2008, 21h41
  4. Réponses: 3
    Dernier message: 02/08/2007, 17h06
  5. Réponses: 3
    Dernier message: 27/04/2006, 08h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo