Bonjour,

J'ai une combobox qui affiche une série de valeurs et j'aimerais obtenir une valeur associée (id) à la valeur sélectionnée (une sorte de colonne invisible quoi).

J'ai essayé un bout de code pour tester en remplissant la combobox avec une boucle mais la valeur de l'id qui en résulte est toujours la dernière valeur prise (dans ce cas 10) et pas celle qui devrait correspondre à la valeur selectionnée.

Quelqu'un aurait une solution ? (désolé si je ne suis pas très clair, je suis débutant ...)

Merci d'avance

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
 
'La class
Public Class Class1
 
    Private _id As Integer
    Private _nom As String
    Sub New(ByVal id As Integer, ByVal Nom As String)
        _id = id
        _nom = Nom
    End Sub
    Public Property id() As Integer
        Get
            Return _id
        End Get
        Set(ByVal Value As Integer)
            _id = Value
        End Set
    End Property
    Public Property nom() As String
        Get
            Return _nom
        End Get
        Set(ByVal Value As String)
            _nom = Value
        End Set
    End Property
    Overrides Function ToString() As String
        Return (_nom)
    End Function
 
End Class
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
 
'Le code dans le form
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        additem()
    End Sub
 
    'remplissage de la combobox
    Sub additem()
        Dim CT As New Class1(0, "")
        Dim i As Integer
        For i = 1 To 10
            CT.id = i
            CT.nom = "blabla" & i
            ComboBox1.Items.Add(CT)
        Next i
 
    End Sub
 
    'recuperer l'identifiant 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim CT As New Class1(0, "")
        Dim id As Int16
        CT = ComboBox1.SelectedItem
        id = CT.id
        TextBox1.Text = id
 
    End Sub