Bonjour
J'essaye d'arriver à ceci:
J'ai un dossier d'images "categories". chaque image dans ce dossier représente une catégorie d'article dont les images sont stockées dans un dossier "photos".
J'arrive a remplir le listview1 par les images du dossier "categorie" avec ce code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  Private Sub commandform_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
        Try
 
            Dim dbconnection As New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source= mabase.mdb")
            dbconnection.Open()
 
 
            Dim ds As New DataSet
 
            Dim sqladap As New OleDbDataAdapter("SELECT *  FROM categorie", dbconnection)
 
            sqladap.Fill(ds)
 
 
            ListView1.LargeImageList = ImageList1
            ListView1.SmallImageList = ImageList1
 
            ListView1.View = View.Details
            ListView1.FullRowSelect = True
            ListView1.Columns.Add("Catégorie", 250)
            ListView1.Font = New Font(ListView1.Font.FontFamily, 14, ListView1.Font.Style)
            ListView1.BackColor = System.Drawing.Color.FromArgb(250, 250, 250)
 
 
            Dim i As Integer
            Dim lst As ListViewItem
            For i = 0 To ds.Tables(0).Rows.Count - 1
 
                If Dir(My.Application.Info.DirectoryPath & "\photos\Categories\" & ds.Tables(0).Rows(i)(0) & ".jpg") <> vbNullString Then
                    ImageList1.Images.Add(System.Drawing.Image.FromFile(My.Application.Info.DirectoryPath & "\Categories\" & ds.Tables(0).Rows(i)(0) & ".jpg"))
                Else
                    ImageList1.Images.Add(System.Drawing.Image.FromFile(My.Application.Info.DirectoryPath & "\photos\Categories\logo.jpg"))
                End If
                lst = ListView1.Items.Add(ds.Tables(0).Rows(i)(1), i)
 
            Next
 
 
 
        Catch ex As Exception
        End Try
 
    End Sub
ce qui me pose problème. C'est que je veux remplir un listview2 en cliquant sur un item de listview1
je sélectionne une catégorie sur listview1 et obtenir ses articles sur listview2.voici le code que j'utilise et qui ne donne rien sinon une erreur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged
        Dim item As Integer = ListView1.SelectedIndices(0)
        Dim dbconnection As New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source= login.mdb")
        dbconnection.Open()
        '>>>>>>>>>> ICI L'ERREUR <<<<<<<<<<
        sql = "Select * from  menu where categorie='" & Trim(ListView1.SelectedItems.Item(0).Text) & "'"
ici Lorsque je sélectionne une seconde catégorie j'ai l'erreur suivante :: InvalidArgument=La valeur '0' n'est pas valide pour 'index
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
        Dim ds As New DataSet
 
        Dim sqladap As New OleDbDataAdapter(sql, dbconnection)
 
        sqladap.Fill(ds)
 
 
        '      ListView2.Clear()
        ListView2.LargeImageList = ImageList2
        ListView2.SmallImageList = ImageList2
 
 
        ListView2.View = View.Details
        ListView2.Font = New Font(ListView2.Font.FontFamily, 14, ListView2.Font.Style)
 
        Dim lst As ListViewItem
        Dim i As Integer
 
        For i = 0 To ds.Tables(0).Rows.Count - 1
             If Dir(My.Application.Info.DirectoryPath & "\photos\" & ds.Tables(0).Rows(i)(0) & ".jpg") <> vbNullString Then
            ImageList2.Images.Add(System.Drawing.Image.FromFile(My.Application.Info.DirectoryPath & "\photos\" & ds.Tables(0).Rows(i)(0) & ".jpg"))
             Else
            ImageList2.Images.Add(System.Drawing.Image.FromFile(My.Application.Info.DirectoryPath & "\photos\logo.jpg"))
            End If
            lst = ListView2.Items.Add(ds.Tables(0).Rows(i)(1), i)
        Next
    End Sub
End Class
Au premier clic
le code s’exécute mais aucune image ne s'affiche.
Je suis désolé si j'arrive pas a bien présenter la question.c'est la première fois .merci de m'aider.