Bonjour,

j'ai actuellement un petit soucis pour comprendre ce que me retourne ma listbox quand je sélectionne un item.
J'ai remplis ma liste box à partir d'un bindingsource. Je fais celà car je trie la liste à partir d'une datatable (je ne sais pas si c'est la meilleure solution mais au moins ça fontionne).
Mon problème étant qu'en prennant comme datasource de ma listbox un binddingsource, mon ListBox.SelectedItem me renvoie un objet de type DataRowView :

Dans mon form1 :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
        vendorquery = "SELECT * FROM Vendor"
        vendorcommand = New SqlCommand(vendorquery)
        vendoradapter = New SqlDataAdapter(vendorcommand)
        vendorcommand.Connection() = myconnection
        vendoradapter.Fill(myset, "Vendor")
        vendordatatable = myset.Tables("Vendor")
        vendorbindsource.datasource = vendordatatable
        vendorbindsource.Sort = "Name"
Ensuite j'appelle un form2 :

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
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        ListBox1.DisplayMember = "Name"
        ListBox1.DataSource = Form1.vendorbindsource
 
    End Sub
 
    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
 
        If ListBox1.SelectedIndex <> -1 Then
 
            Dim drv As DataRowView
 
            drv = ListBox1.SelectedItem
 
            LabelName.Text = drv.Row(ListBox1.SelectedIndex)
 
        End If
 
    End Sub
Histoire de j'ai créé une variable de datarowview pour voir ce que ça faisait et quand j'applique la méthode Row avec l'item sélectionné, ça m'affiche des valeurs aléatoires de ma datatable.

Si quelqu'un pouvait m'éclairer sur ce qu'est exactement un datarowview et comment se repérer dedans ça serait gentil.

Merci.