Comment charger le résultat d'une requete Linq dans Combobox.

Résolu
noelchulu - Modifié par Whismeril le 21/03/2014 à 14:15
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 21 mars 2014 à 16:32
Bonjour,
Je veux bien charger le résultat de ma requête Linq dans combobox, mais j'ai des soucis car je me rends compte que le comportement n'est pas le même avec une requête SQL normale, ce que je fais d'ailleurs. Si quelqu'un peut me donner une piste pour faire ce chargement.
Avec une requête SQL Je fais ceci

 Dim banque_Adaptator As New SqlDataAdapter(String.Format("Select * From View_Compte_Bancaire Where Sigle_Banque='{0}'", Me.cb_Banque.SelectedValue), Cnx)
            Dim banque_Set As New DataSet("View_Compte_Bancaire")
            banque_Adaptator.Fill(banque_Set)
            If banque_Set.Tables(0).Rows.Count > 0 Then
                Me.cb_Compte_Bancaire.DataSource = banque_Set.Tables(0)
                Me.cb_Compte_Bancaire.DisplayMember = banque_Set.Tables(0).Columns(1).ToString
                Me.cb_Compte_Bancaire.ValueMember = banque_Set.Tables(0).Columns(2).ToString
                Me.cb_Compte_Bancaire.Focus()
            Else
                ' MsgBox("Pas de Rubrique pour ce regroupement")
            End If

5 réponses

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2014 à 11:07
Bonjour, ce serait bien que tu montres la requete linq aussi.
Utilise les balises de coloration syntaxique, voir ici
0
Merci.
Dim Rgpe As List(Of Tab_Regroupement)
Dim db_Regroupement = From Regroupement In  Tresore.Tab_Regroupement _
             Where Regroupement.Code_Operation = "D" _
            Select Regroupement
          For Each Regroupement In Tresore.Tab_Regroupement
     
Next

Le problème se pose au niveau de charger le résultat de cette requete a l'objet Combobox.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
Modifié par Whismeril le 21/03/2014 à 14:14
J'avais demandé
Utilise les balises de coloration syntaxique, voir ici
....

Cette fois, je le fais pour toi.
Et je déplace ton commentaire en réponse.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2014 à 14:19
J'ai très peu de VB.Net.
Cependant je ne vois pas pourquoi ceci
Me.cb_Compte_Bancaire.DataSource=db_Regroupement
ne fonctionnerait pas.
C'est au niveau du DisplayMember et DataMember que je ne sais pas répondre comme ça.

Par contre si tu "override" ToString dans ta classe Tab_Regroupement, tu feras afficher ce que tu veux sans le displayMember.
Pour acceder à une propriété, un cast marche très bien.


0
Merci pour votre réponse. Je suis d'avis que le problème se pose au niveau de Displaymember et aussi de ValueMember. C'est l'attachement qui ne marche pas parce qu'il faudra bien définir la colonne pour le display et le valuemember. Je continue la recherche et ferai signe si j'ai la suite favorable. Aussi merci pour les balises pour la présentation du code.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut. Je viens de revoir mon code et obtiens le résultat. Et merci pour votre intervention.Voici le code.
Dim db_Regroupement = From Regroupement In Tresore.Tab_Regroupement _
                  Where Regroupement.Code_Operation = "D" _
                 Select Regroupement
        For Each Regroupement In Tresore.Tab_Regroupement
             Me.ComboBox1.DisplayMember = Regroupement.Libelle_Code
            Me.ComboBox1.ValueMember = Regroupement.Code_Regroupement

        Next
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2014 à 16:32
Bien, pense à utiliser le bouton "répondre", plutot que "Ajouter un commentaire", le commentaire est plus à utliser comme une méta donnée du message support
0
Rejoignez-nous