Sélectionné la première ligne de ma listview au lancement de ma form [Résolu]

Signaler
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
bonjour
je voudrais sélectionné la première ligne de ma listview au lancement de ma form,j'ai mis se code
dans le load de la form ;
List.SelectedItem.Index = 1

mais j'ai une erreur :
"la propriété est en lecture seule"
Auriez vous une idée pour sélectionné la première ligne
merci
petchy

11 réponses

Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010

change la proprieté de ta listview: hideselection = false
c'est tout
ou apres l'exécution de ton code tu met:
listview1.setfocus

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Salut
SelectedItem a une utilisation particulière (voir l'aide)
Il faut utitiser
ListView1.ListItems(1).Selected = True

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Ajoute aussi un EnsureVisible pour le faire apparaitre à l'écran si cet item n'est pas visible dans la liste (grande liste)
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
Re
merci pour ton code,
j'ai essayer ,mais j'ai une erreur
"index hors limite"
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010

salut

"index hors limite" ==> ta listview est alors vide lol

if listview1.listitems.count > 0 then
ListView1.ListItems(1).Selected = True 
end if


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
je n'est plus d'erreur,mais je n'est pas de ligne sélectionner
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010

tu peut me donner ton code ?

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
La sélection ? Elle est faite !
Donne maintenant le focus à ta listview, si tu veux la voir

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
Re
voila le code pour alimenter ma listview
Private Sub Form_Activate()
'-- Rempli le tableau des emprunts

    requete = "SELECT type, Quantité FROM doublons WHERE type <>'' ORDER BY Type"
    
    Set Rs = New ADODB.Recordset
    Rs.Open requete, db
    
    Do Until Rs.EOF
        
        List.ListItems.Add , , Rs!Type
       List.ListItems(List.ListItems.Count).ListSubItems.Add , , Rs!Quantité
        'list4.ListItems(list4.ListItems.Count).ListSubItems.Add , , rs!Quantité
        'list4.ListItems(List.ListItems.Count).ListSubItems.Add , , Rs!code_film
      
        Rs.MoveNext
    Loop
     AltLVBackground List, lblBackColor1.BackColor, lblBackColor2.BackColor
    Me.Caption = "Il y a " & Frm_Accueil.Text1.Text & "  Enregistrement dans la Base ; dont " & Frm_Accueil.t2.Text & " et " & Frm_Accueil.t1.Text
End Sub

Private Sub form_load()
' Initialisation de l'accès aux données
Dim MaBD As String
Dim i As Integer
    

    
    MaBD = App.Path & "\BD\Film.mdb"
    With Adodc1
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MaBD & ";Persist Security Info=False"
        .RecordSource = "SELECT * FROM doublons"
    End With
    Adodc1.Refresh
    Adodc1.Recordset.MoveFirst

' Initialisation du graphique simple
MSChart1.AllowSelections = False ' Interdit la sélection dans le graphe
With MSChart1
    .ChartType = VtChChartType2dBar    ' type de graphe
    .ColumnCount = 1                   ' nombre de barre
    .RowCount = 17                     ' nombre de mois
    ' lecture du nom des mois et des températures dans la BD
    For i = 1 To 17
        .Row = i
        .Column = 1
        .RowLabel = Adodc1.Recordset.Fields(0)       ' le nom de chaque mois
        .Data = Adodc1.Recordset.Fields(1).Value     ' la valeur de température maximale
        'MoyMax = MoyMax + Adodc1.Recordset.Fields(1) ' cumul des valeurs pour calculer la moyenne
        Adodc1.Recordset.MoveNext                    ' le mois suivant
    Next i
End With

' Pour que le curseur soit différent lorsque la souris passe sur le graphe
MSChart1.DoSetCursor = True
'MSChart1.MousePointer = VtMousePointerArrowQuestion
 MSChart1.Visible = True
        Call iniliste(0)
     MSChart1.DoSetCursor = False
    MoveOk = True
If List.ListItems.Count > 0 Then
List.ListItems(1).Selected = True
End If

End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
oui ?
et alors ?
bis repetita ; donne-lui le focus !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
super,merci c'est nickel
voila le code
If List.ListItems.Count > 0 Then
List.ListItems(1).Selected = True
List.SetFocus
End If


@ plus
petchy