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

Windows Forms Discussion :

Comment rendre un élément d'une ComboList non visible?


Sujet :

Windows Forms

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut Comment rendre un élément d'une ComboList non visible?
    Bonjour tout le monde,

    J'aimerais savoir s'il est possible de rendre non visible un élément d'une comboList (anciennement dropDownList)? En effet, j'ai l'impression qu'il est seulement possible de supprimer des éléments avec la méthode removeAt par contre il n'y a pas de méthode visible...

    on peut donc faire :

    dim maComboList as new system.windows.forms.combolist
    maComboList.items.removeAt(0)

    mais pas :

    dim maComboList as new system.windows.forms.combolist
    maComboList.items(0).visible = false

    ...et c'est bien dommage

    Si quelqu'un a une idée...

  2. #2
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Ca veut dire que tu stockes tes données métier dans ton interface graphique ?
    C'est pour quel type d'application ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Non pas du tout, je veux mettre dynamiquement à jour ma ComboList à partir d'un objet métier justement...

    La solution alternative pour laquelle j'ai opté est de détruire et reconstruire ma comboList à chaque fois, mais je trouve ça vraiment naze comme solution et pas du tout optimisé!

    après le type d'application que ça concerne... je vois pas ce que ça change

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Pourquoi détruire ?
    Pourquoi pas vider avec Clear() ?
    C'est la meilleure pratique dans ce cas là.

    Et si, le type d'application fait beaucoup de choses.
    Un devoir à l'école ou une appli personnelle c'est beaucoup moins exigent qu'une appli professionnelle.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Oui enfin clear est peut-être un peu moins gourmand en ressource mais ça ne résoud pas mon problème.... je ne peux donc pas rendre un élément non visible

    PS: c pour une application proffessionnelle

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    ça n'existe pas, mais tu pourais l'inventer en dérivant la Combo existante.

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 63
    Points : 60
    Points
    60
    Par défaut
    Tu le veux:
    • Non visible (en gris)?
    • Enleve de la collection?
    • Filtre a partir d'une autre combo?

  8. #8
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Pour une appli professionnelle, il faut faire Clear et refaire le binding ou le remplissage du combobox.

    "Cacher" un élément, ça implique tout une couche de gestion de la visibilité des élements dans l'interface, ça va diminuer tes perfs.

    Après je dis ça en tant que professionnel, après si tu penses que ton idée est meilleure, libre à toi.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Je le veux non-visible, donc dans la collection (si j'ai besoin de l'atteindre alors je peux le faire) mais pas visible.

    Si ça a pas été prévu c ce que ça doit pas être optimisé niveau perf...

    Donc je le clear...ça reste le moins pire

    merci à tous

  10. #10
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 63
    Points : 60
    Points
    60
    Par défaut
    Tu peut toujours avoir une propriete de l'object que tu insere dans ta liste du type Visible et quand tu populate ta combo, tu verifie cette propriete pour l'ajouter.
    Comme ca il est dans ta collection locale mais pas dans ta combo.

  11. #11
    Membre émérite

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Points : 2 624
    Points
    2 624
    Par défaut DataSource
    La première solution consiste à dériver la combo MS et à refaire le Paint. Dans ce cas, tu pourras faire ce que tu veux.
    Une autre possibilité (plus simple) consiste à binder la combo sur un BindingSource. Je t'ai mis un exemple dans lequel tu pourras voir la solution avec un DataSet et la solution avec des objets.
    // Avec une DataTable, on peut utiliser le Filter du BindingSource mais pas avec une liste d'objets, d'où la définition de ma propre liste. Je pense qu'avec LINQ, cela sera possible.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Peut-on rendre des éléments d'une liste multiple déroulante non sélectionnables ?
    Par Florian_mbf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 22/05/2013, 11h53
  2. Réponses: 3
    Dernier message: 15/05/2006, 16h09
  3. Comment griser un élément d'une ComboBox?
    Par kramer dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/04/2006, 20h43
  4. Réponses: 3
    Dernier message: 05/04/2006, 23h01
  5. comment rendre impossible de resizer une fenetre?
    Par HiT dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/04/2006, 17h08

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