Partage
  • Partager sur Facebook
  • Partager sur Twitter

Combobox : recuperation de valeur

Obtenir la valeur enregistrée dans Value

Sujet résolu
    2 novembre 2021 à 16:04:02

    Bonjour.

    J'ai un combobox à qui j'ai associé une fonction anonyme

    Voici comment mon combobox est rempli :

    For Each mrow As DataRow In table.Rows
                pComboBox.DisplayMember = "Text"
                pComboBox.Items.Add(New With {.Text = mrow(0).ToString, .Value = mrow(1).ToString})
            Next

    Je voudrais récupérer la valeur contenue dans ".Value" afin de faire une requête dans ma base de donnée, mais je ne sais pas comment faire.

    Quelqu'un peut m'aider svp ? Ou alors si il y'a un autre moyen plus simple d'afficher les valeurs dans le combobox et récupérer la donnée correspondante à cette valeur (Un peu comme on le fait en html avec <option Value="xxx">myVal</option> qui permet d'afficher le text et récupérer Value )

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      2 novembre 2021 à 19:21:26

      la propriété selectedItem du combobox (cf la doc https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.combobox.selecteditem?view=windowsdesktop-5.0 )

      pComboBox.SelectedItem.Text
      pComboBox.SelectedItem.Value

      (en vb.net ça passe)

      • Partager sur Facebook
      • Partager sur Twitter
        2 novembre 2021 à 21:09:17

        umfred a écrit:

        la propriété selectedItem du combobox (cf la doc https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.combobox.selecteditem?view=windowsdesktop-5.0 )

        pComboBox.SelectedItem.Text
        pComboBox.SelectedItem.Value

        (en vb.net ça passe)

        Merci pour votre réponse !

        Malheureusement la propriété selectedItem en vb.net n'a pas Value et Text. Je peux juste appeler les méthodes (ToString, GetType, Equal et GetHashCode) . J'avais aussi essayé selectedValue mais elle ne me retourne toujours une chaine vide



        • Partager sur Facebook
        • Partager sur Twitter
          3 novembre 2021 à 11:43:34

          J'ai testé, ça fonctionne avec le .NET Framework ou .NET Core et en WinForms

          un WinForms avec un ComboBox, un Button et un Label (effectivement, l'intellisense ne propose pas Text et Value, mais ça fonctionne)

          Public Class Form1
              Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
                  ComboBox1.Items.Clear()
                  For i As Integer = 0 To 12
                      ComboBox1.Items.Add(New With {.Toto = "Texte " & i.ToString, .Tutu = i.ToString})
                  Next
                  ComboBox1.DisplayMember = "Toto"
              End Sub
          
              Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
                  Label1.Text = ComboBox1.SelectedItem.Toto & ":" & ComboBox1.SelectedItem.Tutu
              End Sub
          End Class


          Sinon il faut se créer une classe avec ces 2 propriétés

          • Partager sur Facebook
          • Partager sur Twitter
            3 novembre 2021 à 20:55:18

            Merci pour votre réponse !

            Pour faire plus simple j'ai utilisé utilisé un dictionnaire à la place. Et j'ai récupéré la clé pour faire ma requête.


            umfred a écrit:

            J'ai testé, ça fonctionne avec le .NET Framework ou .NET Core et en WinForms

            un WinForms avec un ComboBox, un Button et un Label (effectivement, l'intellisense ne propose pas Text et Value, mais ça fonctionne)

            Public Class Form1
                Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
                    ComboBox1.Items.Clear()
                    For i As Integer = 0 To 12
                        ComboBox1.Items.Add(New With {.Toto = "Texte " & i.ToString, .Tutu = i.ToString})
                    Next
                    ComboBox1.DisplayMember = "Toto"
                End Sub
            
                Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
                    Label1.Text = ComboBox1.SelectedItem.Toto & ":" & ComboBox1.SelectedItem.Tutu
                End Sub
            End Class


            Sinon il faut se créer une classe avec ces 2 propriétés



            -
            Edité par Aissata12 3 novembre 2021 à 20:56:03

            • Partager sur Facebook
            • Partager sur Twitter

            Combobox : recuperation de valeur

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown