Naviguer dans listview

cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022 - 24 févr. 2007 à 14:25
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 25 févr. 2007 à 18:15
Bonjour,
Je suis debutant en VB2005, J'ai un listview qui est rempli avec ma base de donnée et je voudrai avec les boutons "premier,suivant,precedent,dernier" naviguer dans mon listview
avec le bouton "premier" selectionner le premier enregistrement de ma base et par la meme occasion le premiere ligne de mon listview
J'ai bien trouver des bout de code mais ils sont fait pour un datagridview
quelqu'un peut-il m'aider ?
Merci à vous tous

8 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
24 févr. 2007 à 16:08
Salut,

Il faut créer une procédure qui te permet de récupérer le numéro de la
ligne sélectionnée dans ta listview et la stocker dans une variable de
type integer (ici, index)

Voici la procédure :

Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
   index = ListView1.SelectedIndices(0)
End Sub
, ----

(Coloration syntaxique automatique par Kenji)

Pour sélectionner la dernière ligne d'un listview :

<table border="0">----,
</td>ListView.Items(index).Selected = False
ListView.Items(ListView.Items.Count - 1).Selected = True
index = ListView.Items.Count - 1, ----

(Coloration syntaxique automatique par Kenji)
</td></tr></tbody></table>
Pour sélectionner la ligne suivante d'un listview :

If index <> ListView.Items.Count - 1 Then      ' Permet d'empêcher de sélectionner la ligne suivante si la dernière ligne est déja sélectionnée
   ListView.Items(index).Selected = False      ' Déselectionne la ligne sélectionnée
   index = index + 1
   ListView.Items(index).Selected = True       ' Sélectionne la ligne suivante en incrémentant de 1 la variable index
End If, ----

(Coloration syntaxique automatique par Kenji)

Pour sélectionner la ligne précédente d'un listview :

If index <> 0 Then      ' Permet d'empêcher de sélectionner la ligne précédente si la première ligne est déja sélectionnée
   ListView.Items(index).Selected = False      ' Déselectionne la ligne sélectionnée
   index = index - 1
   ListView.Items(index).Selected = True       ' Sélectionne la ligne précédente en otant 1 à la variable index
End If, ----

(Coloration syntaxique automatique par Kenji)

N'oubliez pas d'accepter la réponse si elle a résolu votre problème 
0
cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022
24 févr. 2007 à 16:52
Merci beaucoup pour ton code
J'ai une erreur du type :
InvalidArgument=La valeur '0' n'est pas valide pour 'index'.
Nom du paramètre : index
as tu une idée ??
Merci encore pour ton aide
A +
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
24 févr. 2007 à 19:10
Salut,

Est ce que au moins quand tu as essayé mes lignes de codes ta listview contenait au moins une ligne et qu'elle n'était pas vide ?

@+
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
24 févr. 2007 à 19:12
Parce que pour sélectionner la première ligne par exemple il ne trouve aucune ligne dans ton listview donc ca plante
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022
24 févr. 2007 à 20:03
non ma listview est bien remplie avec ma base de donnée
des que je click sur un bouton "suivant"ou autre j'ai le message d'erreur
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
25 févr. 2007 à 14:18
Salut,

Avec cà, ca devrait fonctionner :

Pour sélectionner la première ligne d'un listview :

ListView1.Items(0).Selected = True
ListView1.Focus(), ----

(Coloration syntaxique automatique par Kenji)

P
our sélectionner la dernière ligne d'un listview :

ListView1.Items(ListView1.Items.Count - 1).Selected = True
ListView1.Focus(), ----

(Coloration syntaxique automatique par Kenji)

Pour sélectionner la ligne suivante d'un listview :

If ListView1.SelectedIndices(0) <> ListView1.Items.Count - 1 Then
    ListView1.Items(ListView1.SelectedIndices(0) + 1).Selected = True
    ListView1.Focus()
    Exit Sub
End If
ListView1.Focus(), ----

(Coloration syntaxique automatique par Kenji)

Pour sélectionner la ligne précédente d'un listview :

If ListView1.SelectedIndices(0) <> 0 Then
    ListView1.Items(ListView1.SelectedIndices(0) - 1).Selected = True
    ListView1.Focus()
    Exit Sub
End If
ListView1.Focus(), ----

(Coloration syntaxique automatique par Kenji)

Et enfin, quand tu as chargé ta listview, il faut faire :

ListView1.Items(0).Selected = True
ListView1.MultiSelect = False
ListView1.Focus(), ----

(Coloration syntaxique automatique par Kenji)

N'oubliez pas d'accepter la réponse si elle a résolu votre problème 
0
cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022
25 févr. 2007 à 17:50
Bonsoir,
Super ca marche !!!!!!!
je vais etudier ton code pour approfondir mes connaissances
Je te remercie Fauve
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
25 févr. 2007 à 18:15
N'oublies pas d'accepter mon avant dernier message au cas où si quelqu'un a le même problème que toi pour que ce topic puisse aussi l'aider

@+
0
Rejoignez-nous