Sélectionnez l'index à partir de listview
J'ai un peu de problème pour obtenir l'indice de la ligne sélectionnée dans une liste. Je me demande pourquoi ce code ne fonctionne pas? Je reçois une ligne rouge au-dessous de la SelectedIndex
private void lvRegAnimals_SelectedIndexChanged(object sender, EventArgs e)
{
int index = lvRegAnimals.SelectedIndex;
string specialData = motelManager.GetInfoFromList(index);
UppdateSpecialData(specialData);
}
L'aide est preciated. Merci!
EDIT:
Pour une raison étrange, je reçois deux messages lorsque je clique sur une des lignes dans la liste!? J'ai d'abord obtenir le numéro précédent, puis le numéro de la dernière cliqué sur la ligne. Quel peut être le problème?
private void lvRegAnimals_SelectedIndexChanged(object sender, EventArgs e)
{
int index = lvRegAnimals.FocusedItem.Index;
MessageBox.Show(Convert.ToString(index));
}
Ça fonctionne maintenant, quand j'ai ajouté une case comme ceci:
if(lvRegAnimals.SelectedIndices.Count > 0)
Quelle est la valeur d'lvRegAnimals.SelectedIndex retour ?
OriginalL'auteur 3D-kreativ | 2012-07-04
Vous devez vous connecter pour publier un commentaire.
Parce que ListView ne contiennent pas de
SelectedIndex
, au lieu de cela, il est une propriété deSelectedIndices
.ListView.SelectedIndices)
indices[0]
vous donnera le selectedindex ou si vous cherchez à obtenir le concentré élément, Vous pouvez utiliserlvRegAnimals.FocusedItem.Index
, voir ce lien unlockforus.blogspot.com/2010/02/...Je veux juste obtenir l'index de la ligne que l'utilisateur doit cliquer sur, pour que je puisse le passer comme un indice d'une méthode pour obtenir des informations à partir d'une liste. J'ai testé ceci: int intselectedindex = lvRegAnimals.SelectedIndices) [0]; Il fonctionne très bien la première sur, mais sur le deuxième clic sur une autre ligne, le programme crash!?
Quand je suis en utilisant lvRegAnimals.FocusedItem.De l'Index, il semble que je reçois à la fois la dernière concentré valeur et la nouvelle valeur!?
vous devriez vérifier si le( lvRegAnimals.SelectedIndices).Count > 0) , et pour
FocusedItem.Index
, il ne retourne qu'une seule valeur, comment se fait-vous d'obtenir deux valeursOriginalL'auteur Habib
OriginalL'auteur
Essayer :
Cela vous donne l'indice de la ligne sélectionnée.
OriginalL'auteur jaleel
Il y a un autre thread comme celui-ci, mais ici, il va encore une fois.
Il peut retourner la valeur NULL. Aussi l'événement SelectedIndexChanged peut être DÉCLENCHÉ deux fois. Et la première fois, il n'y a rien sélectionné.
De sorte que le seul moyen sûr de le trouver, c'est comme ceci:
... maintenant int p a la valeur correcte...
OriginalL'auteur Roger Deep