Encore une petite question sur listview

Résolu
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 29 août 2007 à 10:54
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 29 août 2007 à 13:45
Voilà je sais que pour afficher le bas de ma list view il faut que je sélectionnes le dernier item de ta liste et que je met la propriété FullRowSleect à true, en tout cas si je ne m'abuse, problème je vois pas trop trop comment selectionner le dernier item
j'ai pensé a ListView1.SelectedItem, mais je ne sais pas quoi placer après pour qu'il sélectionne la dernière ligne en date, de plus je ne sais pas comment faire pour que ma listview ce mette correctement a jour lords d'une supression ou lord d'un ajout de ligne ...
Merci de bien vouloir prendre le temps de me repondre ...

RE voilà mon ptit bout de code :

Public i As Integer
Public j As Integer

Private Sub Command2_Click()
    If ListView1.ListItems.Count >= 20 Then
        ListView1.ListItems.Remove (1)
        j = j + 1
    End If
    ListView1.ListItems.Add = "j'en suis a la ligne" & i
    i = i + 1
End Sub

Private Sub Command3_Click()
    If ListView1.ListItems.Count = 0 Then
        MsgBox _
          ("Erreur, vous ne pouvez plus supprimer de ligne dans cette liste !!")
    Else
        ListView1.ListItems.Remove (i - j)
        i = i - 1
    End If
End Sub

Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)
    Listview1.SelectedItem.
End Sub, ----
(Coloration syntaxique automatique par Kenji)

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe

13 réponses

VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 13:18
C'est presque ca !!

La solution est :

Public i As Integer
Public j As Integer

Private Sub Command2_Click()
    If ListView1.ListItems.Count >= 20 Then
        ListView1.ListItems.Remove (1)
        j = j + 1
    End If
    ListView1.ListItems.Add = "j'en suis a la ligne" & Format(i, "000")
    i = i + 1
    ListView1.ListItems(i).Selected = True
    ListView1.ListItems(i).EnsureVisible
End Sub

Private Sub Command3_Click()
Dim p As Integer
p = (i - j)
    If ListView1.ListItems.Count = 0 Then
        MsgBox _
          ("Erreur, vous ne pouvez plus supprimer de ligne dans cette liste !!")
    Else
        ListView1.ListItems.Remove p
        i = i - 1
        ListView1.ListItems(i).Selected = True
        ListView1.ListItems(i).EnsureVisible
    End If
End Sub, ----
(Coloration syntaxique automatique par Kenji)

Merci à vous tous pour votre aide !!

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 août 2007 à 11:05
Salut,
Essaie peut être
ListView1.ListItems(ListView1.ListItems.Count).Selected = True

je sais que le listview possède aussi une méthode appelé ListView1.SelectedItem.EnsureVisible

Qui te permet de t'assurer que l'items selectionné est bien visible
Voila j'espère que cela t'aide un peu

@+: Ju£i?n
Pensez: Réponse acceptée
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 11:14
J'ai test les 2 aucun ne marche mais peut être est ce aussi parce que je ne place pas le bout de code au bonne endroit, ...

Private Sub ListView1_BeforeLabelEdit
(Cancel As Integer)
    Listview1.ListItems(ListView1.ListItems.Count).Selected = True
End Sub

OU

Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)
    Listview1.SelectedItem.EnsureVisible = True
End Sub

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
29 août 2007 à 11:25
Salut et Salut Jrivet,

Avant de faire la sélection, donne le focus à ta listview :

Listview1.SetFocus
Listview1.ListItems
(ListView1.ListItems.Count).Selected = True

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

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

Posez votre question
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 11:36
En fait je ne veut pas selectionner le dernier item, je veut just qu'il soit tjs visible ...

je voudrais bien vous montrer une image mais j'arrive pas l'inseré :(

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 11:37
En fait je croi que ce serai plus facile de forcé la scrollbar verticale, en bas ... non ??

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 août 2007 à 11:41
Re,
Ce qu'il faut savoir c'est a QUEL MOMENT tu souhaitres effectuer cette action. les deux lignes de code que je te proposais fonctionne.

Sais tu au moins a quel moment survient l'événement  ListView1_BeforeLabelEdit


@+: Ju£i?n
Pensez: Réponse acceptée
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 12:15
Bah non justement c'est pour ca que j'avais aussi demandé, que l'on me dise si je le placé au bonne endroit, pour que les mise a jour ce fasse correctement selon que j'ajouté et supprimé une ligne ...

En plus j'ai remarqué un autre problèmez dans mon code, c'est que lorsque j'arrive a la création de la 10ème lignes, elle se place sur la première et non a la suite ... :-/

Je refile mon code un pe modifié ... :

Public i As Integer
Public j As Integer

Private Sub Command1_Click()
    ListView1.ListItems.Item(ListView1.ListItems.Count).Selected = True
End Sub

Private Sub Command2_Click()
    If ListView1.ListItems.Count >= 5 Then
        ListView1.ListItems.Remove (1)
        j = j + 1
    End If
    ListView1.ListItems.Add = "j'en suis a la ligne" & i
    i = i + 1
End Sub

Private Sub Command3_Click()
Dim p As Integer
p = (i - j)
    If ListView1.ListItems.Count = 0 Then
        MsgBox _
          ("Erreur, vous ne pouvez plus supprimer de ligne dans cette liste !!")
    Else
        ListView1.ListItems.Remove p
        i = i - 1
    End If
End Sub

Private Sub Form_Load()
i = 1
j = 0
End Sub, ----
(Coloration syntaxique automatique par Kenji)

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 12:21
C'est cool pour le problème de tri j'ai trouver, j'ai changer j'ai mis
Private Sub Command2_Click()
    If ListView1.ListItems.Count >= 5 Then
        ListView1.ListItems.Remove (1)
        j = j + 1
    End If
    ListView1.ListItems.Add = "j'en suis a la ligne" & format(i, "000")
    i = i + 1
End Sub

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
29 août 2007 à 13:12
Salut ,
Pour selectionner une ligne et la rendre visible

Private Sub Command2_Click()
    If ListView1.ListItems.Count >= 5 Then
        ListView1.ListItems.Remove (1)
        j = j + 1
    End If
    ListView1.ListItems.Add = "j'en suis a la ligne" & i
    i = i + 1
   ListView1.ListItems(i).Selected =ListView1.ListItems(i).EnsureVisible

End Sub

Private Sub Command3_Click()
Dim p As Integer
p = (i - j)
    If ListView1.ListItems.Count = 0 Then
        MsgBox _
          ("Erreur, vous ne pouvez plus supprimer de ligne dans cette liste !!")
    Else
        ListView1.ListItems.Remove p
        i = i - 1
       ListView1.ListItems(i).Selected =ListView1.ListItems(i).EnsureVisible
End If
End Sub















<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
29 août 2007 à 13:23
c' est toujours ça !

la ligne que je t' ai proposé combine  les deux .

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 13:44
OUI mais j'ai test ton truc et ca marché pas, alors que ca OUI !!
Mais je te remercie, c'est en partie grâce a toi tkt !!

mais le script que j'ai mis la a tjs des ptit bug, mais plus par rapport a la séléction ^^
donc je VOUS remercie TOUS !!

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
29 août 2007 à 13:45
MerZi ... Zi ... Zi ... PtitCat  



P.S:

DSL pour l'orthographe
0
Rejoignez-nous