Bonjour,

J'aimerai récupérer l'id d'une ligne sélectionné d'un Dropdownlist,

J'ai deux Dropdownlist, le premier j'affiche les lignes de données avec une procédure stockée je récupère bien un id, le second je récupère pas un id mais le libellé. Pourquoi... ?

J'ai utilisé cette syntaxe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dim nom_variable As Integer = nom_dropdownlist.SelectItem.Value
Code ASPX

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
            <asp:DropDownList ID="ddlTheme" runat="server" AppendDataBoundItems="True" DataTextField="THEME_NOM" DataValueField="THEME_ID"  DataSourceID="SqlDataTheme" AutoPostBack="True" OnSelectedIndexChanged="itemSelected"><asp:ListItem Text="" value="" />
            </asp:DropDownList>
            <asp:DropDownList ID="ddlForma" runat="server" AutoPostBack="True" OnSelectedIndexChanged="itemSelectedForma">
            </asp:DropDownList>
            <asp:DropDownList ID="ddlLabo" runat="server" AppendDataBoundItems="True" DataTextField="LAB_NOM" DataValueField="LAB_ID" DataSourceID="SqlDataLabo" AutoPostBack="True" OnSelectedIndexChanged="itemSelectedlabo"><asp:ListItem Text="" value="" />
            </asp:DropDownList>
            <asp:DropDownList ID="ddlUser" runat="server" AutoPostBack="True" OnSelectedIndexChanged="itemSelectedUser">
            </asp:DropDownList>
VB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Private Class IdcbxForma
        Public Valeur As Integer
        Public Nom As String
        Public Id As Integer
        Public Sub New(ByVal ide As Integer, ByVal name As String, ByVal value As Integer)
            Nom = name
            Valeur = value
            Id = ide
        End Sub
 
        Public Overrides Function ToString() As String
            Return String.Format("{0},{1}", Nom, Id)
        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
    Protected Sub itemSelected(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTheme.SelectedIndexChanged
        'Remplir Dropdownlist Formations
        If ddlForma.SelectedValue.ToString <> "" Then
            If ddlLabo.SelectedValue.ToString <> "" Then
                If ddlTheme.SelectedValue.ToString <> "" Then
                    If ddlUser.SelectedValue.ToString <> "" Then
                        btnValid.Visible = True
                    End If
                End If
            End If
        Else
            btnValid.Visible = False
        End If
        ddlForma.Items.Clear()
        Dim idx As Integer = ddlTheme.SelectedIndex
        ddlForma.Items.Add("")
        Using bdc As New TR_crecqEntities()
            Dim test As New List(Of tr_cbx_NomFormations_Result)
            test = bdc.tr_cbx_NomFormations(idx).ToList
 
            For i As Integer = 0 To test.Count - 1
                ddlForma.Items.Add(New IdcbxForma(test(i).FORMA_ID, test(i).FORMA_NOM, i).Nom)
            Next
        End Using
    End Sub