LISTVIEW comment obtenir l index de l element selectionné et l element meme [Résolu]

Messages postés
45
Date d'inscription
lundi 7 février 2005
Dernière intervention
16 juin 2006
- - Dernière réponse : NelsonIsen
Messages postés
3
Date d'inscription
mercredi 29 décembre 2010
Dernière intervention
1 juin 2011
- 1 juin 2011 à 11:59
Bonjour,
j ai un listview et j aimerai en cliquant sur un element recuperer la position de l element dans un string ou un int
ensuite recuperer l element dans un string.
Merci
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
3
Merci
((ListViewItem)listView1.SelectedItems[0]).Index) ;

::|The S@ib|::
MVP C#.NET

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TheSaib
Messages postés
45
Date d'inscription
lundi 7 février 2005
Dernière intervention
16 juin 2006
0
Merci
Merci
Commenter la réponse de amirirn1
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
0
Merci
au plaisir

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Messages postés
3
Date d'inscription
mercredi 29 décembre 2010
Dernière intervention
1 juin 2011
0
Merci
je ne comprends pas bien pourquoi nous sommes obligé de caster en ListViewItem.
Pourquoi avec les listView on ne peut pas faire quelque chose du genre : listView1.subitems[0].selectedIndex ?
Commenter la réponse de NelsonIsen
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
0
Merci
Bonjour,

(Salut TheSaib... toujours MVP ?)

pour récupérer l'index sélectionné dans une ListView :
var index = uneListView.SelectedIndex;





Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
Commenter la réponse de sebmafate
Messages postés
3
Date d'inscription
mercredi 29 décembre 2010
Dernière intervention
1 juin 2011
0
Merci
Bonjour sebmafate,

lorsque je fais :
Console.WriteLine(listView_vols.SelectedIndex);


j'obtiens à la compilation :
erreur CS1061: 'System.Windows.Forms.ListView' ne contient pas une définition pour 'SelectedIndex' et aucune méthode d'extension 'SelectedIndex' acceptant un premier argument de type 'System.Windows.Forms.ListView' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?)

Console.WriteLine(listView_vols.FocusedItem.Index);

Ce code parait intéressant mais ça me renvoi l'index prédent suivit du bon, car l'element dans la liste n'est pas encore desselectionné.
Commenter la réponse de NelsonIsen
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
0
Merci
au temps pour moi... je me suis trompé avec la version WebForms

if (uneListView.SelectedItems.Count > 0) {
   var index = uneListView.SelectedItems[0].Index;
}


ou bien, créer une méthode d'extension :

public static class ListViewExtensionMethods {
   public Int32 GetSelectedIndex(this ListView listView) {
      if (listView.SelectedItems.Count > 0) {
         return listView.SelectedItems[0].Index;
      }
      return -1;
   }
}


et on l'utilise comme ceci :
Console.WriteLine(listView_vols.GetSelectedIndex());



Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
Commenter la réponse de sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
0
Merci
ooops... une erreur dans mon code

public static class ListViewExtensionMethods {
   public static Int32 GetSelectedIndex(this ListView listView) {
      if (listView.SelectedItems.Count > 0) {
         return listView.SelectedItems[0].Index;
      }
      return -1;
   }
}


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
Commenter la réponse de sebmafate
Messages postés
3
Date d'inscription
mercredi 29 décembre 2010
Dernière intervention
1 juin 2011
0
Merci
Super merci :D
Commenter la réponse de NelsonIsen

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.