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 :

sélectionner un item dans un listview en mode détail.


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut sélectionner un item dans un listview en mode détail.
    bonjour à tous,

    J'essaie de sélectionner une ligne de mon listview en mode détail mais rien à faire çà ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.listView2.Items[0].Selected = true;
    Avez vous une idée ? parce que là je sèche...
    Merci d'avance

    Jerome

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Je ne sais pas si c'est vraiment ton problème mais moi j'utilise des checkbox dans ma liste.
    Tu en utilises aussi?
    Si oui tu cherches vraiment à sélectionner la ligne (ligne mise en bleu) ou alors à checker la case correspondante?

    Si tu veux juste la checker il te faut utiliser Checked et pas Selected. Par contre si tu veux bel et bien la sélectionner alors je ne vois pas le problème avec ta ligne de code....

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par thecrax
    Je ne sais pas si c'est vraiment ton problème mais moi j'utilise des checkbox dans ma liste.
    Tu en utilises aussi?
    Si oui tu cherches vraiment à sélectionner la ligne (ligne mise en bleu) ou alors à checker la case correspondante?

    Si tu veux juste la checker il te faut utiliser Checked et pas Selected. Par contre si tu veux bel et bien la sélectionner alors je ne vois pas le problème avec ta ligne de code....
    non j'utilise pas de case à cocher.
    Et oui je veux sélectionné la ligne, bref la mettre en surbrillance.
    Le fullRowSelect est à true.
    Ce que je ne comprend pas c'est que ma ligne de code devrait fonctionner...
    je pense à quelque chose, peut être qu'en essayant de sélectionner un subitems de la ligne ... je vais essayer çà ...

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Je sais que c'est un peu tard, mais j'ai eu des problèmes similaires, alors je suis tombé sur ce post.
    Quand je fais .Selected = true, ça fonctionne, donc tu dois avoir une erreur autre part.
    Cependant, si ta liste d'item est grande, ton item peut-être bien sélectionné mais invisible dans le contrôle. Pour l'afficher dans le controle, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.listView2.Items[0].Focused = true;
    en plus de ton .Selected

    ou mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.listView2.TopItem = this.listView2.Items[0];
    si le controle n'a pas le focus.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Je fais remonter le post car j'avais le même problème que Grome.

    En fait Skalp était près de la soluce... Il faut donner le focus avant de sélectionner l'élément.

    Cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    listView2.Focus();
    listView2.Items[1].Selected = true;

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 47
    Points
    47
    Par défaut
    Salut,

    J'ai le même problème. J'avais déjà testé ce que vous proposez avant de tomber sur cette discussion, mais rien ne fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    listViewElements.Focus();
    listViewElements.Items[i].Selected = true;
    listViewElements.Items[i].Focused = true;
    1. avez-vous trouvé une autre solution depuis le temps ?
    2. je cherche en fait a déplacer une éléments (vers le haut ou vers le bas). Peut-on faire un drag and drop pour déplacer ? je trouve cela compliqué.

    Merci beaucoup

    edit : politesse ;-)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 95
    Points
    95
    Par défaut
    Slt La methode avec le focus pas mal certes mais ya plus rapide est en plus Chez MS il sont creer une petite ligne de code fais pour

    EnsureVisible();

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 47
    Points
    47
    Par défaut
    ouai j'ai vu ça, c'est plus rapide en effet et plus efficace si on a beaucoup d'éléments.

    sinon, j'ai résolu mon problème (ma question 1), le problème venait des événements de changement d'indices qui faisait des choses pas très "classiques".

    aucune idée pour le drag'n'drop ? :-)

Discussions similaires

  1. Réponses: 10
    Dernier message: 10/10/2013, 09h10
  2. C# - Comboxbox dans cellule Listview en mode détails, possible ?
    Par hellspawn_ludo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/09/2011, 14h25
  3. [VB.NET] Suppression d'un item dans une listview
    Par Remedy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/07/2006, 16h00
  4. [C#] Rendre disable un Item dans un ListView
    Par Pynuch dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/06/2006, 13h34
  5. [C#] Suppression d'un item dans une listview
    Par Popof dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/04/2006, 13h58

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