ListView - Checkbox - Multiselect

cs_Patrik Messages postés 95 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 10 octobre 2005 - 4 févr. 2002 à 12:14
cs_pdl Messages postés 134 Date d'inscription mardi 20 novembre 2001 Statut Membre Dernière intervention 16 juin 2008 - 4 févr. 2002 à 14:38
Salut,

Je n'arrive pas à gérer avec le listView la propriété case à cocher et multiselect (telles lignes de mon listView ont ses casses qui sont cochées).
De même je n'arrive pas à afficher le résultat d'une requête SQL dans mon ListView

Merci à tous ceux qui pourront me renseigner @+

.Patrik.

1 réponse

cs_pdl Messages postés 134 Date d'inscription mardi 20 novembre 2001 Statut Membre Dernière intervention 16 juin 2008
4 févr. 2002 à 14:38
Patrcik, voici la réponse à tes deux questions.

1. Tu dois parcourir toute la liste et voir si chaque ligne a été cochée :

    Dim i As Integer
    
    For i = 1 To lvListView.ListItems.Count
      If lvListView.ListItems(i).Checked Then
         'Faire quelque chose
      Else
         'Faire autre chose
      End If
    Next i


2. Requête dans une listview. Je n'utilise jamais les databinds, mais je fais toujours tout moi même et cela donne :

Set myRecordset ExecuteQuery("select * from member where SectionId " & sKey)
                If Not myRecordset.EOF Then
                    myRecordset.MoveFirst
                End If
                While Not myRecordset.EOF
                    lvListView.ListItems.Add , , myRecordset!memberName
                    iIndex = lvListView.ListItems.Count 'car par défaut c'est le dernier de la liste
                    lvListView.ListItems.Item(iIndex).ListSubItems.Add , , myRecordset!MemberID
                    If IsNull(myRecordset!Info) Then
                        lvListView.ListItems.Item(iIndex).ListSubItems.Add , , ""
                    Else
                        lvListView.ListItems.Item(iIndex).ListSubItems.Add , , myRecordset!Info
                    End If
                    myRecordset.MoveNext
                Wend


La fonction ExecuteQuery renvoi simplement un recordset sur base d'une requête. Le reste du code est assez simple pour ne pas y mettre du commentaire, enfin je crois.

Et voià.

A+,

Pierre
0
Rejoignez-nous