IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

combobox dataset BindingSource


Sujet :

VB.NET

  1. #1
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 114
    Points : 86
    Points
    86
    Par défaut combobox dataset BindingSource
    bonjour
    voila je veux remplir un combobox avec une dataset mais j'arrive pas d'apres la recherche il faut le relier a BindingSource avant bon voila mon code:
    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
     
     
    Dim detailsBindingSource As New BindingSource()
            Try
                OBconnc.ouverture()
                OBconnc.insertion(requete)
                OBconnc.objDataSet = OBconnc.createtDataSet(requete, "test")
                combo.Items.Clear()
                detailsBindingSource.DataSource = OBconnc.objDataSet
                combo.DataSource = detailsBindingSource
                combo.ValueMember = "test1" 'champ_value 'puisque la combobox a une valeur afficher 
                combo.DisplayMember = "test2" 'et une pris comme value"
                combo.Update()
                combo.Refresh()
     
            Catch ex As Exception
                MsgBox(ex.Message )
            End Try
    merci d'avance
    faites gaffe je pourrai venir vous hantez la nuit

  2. #2
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Citation Envoyé par fontome_ 123 Voir le message
    d'apres la recherche il faut le relier a BindingSource avant bon voila mon code:
    Ca n'a rien d'obligatoire, tu peux aussi bien directement affecter ton dataset à la datasource du combo.

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  3. #3
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 114
    Points : 86
    Points
    86
    Par défaut
    merci pour ta reponse
    donc ce cas la il joue le role de quoi le bindingsource?
    et comment dans ce cas là jouer sur le membervalue en claire je veux avoir une valeur qui est afficher et une qui est pris en compte lors de la selection(les 2 sont indifférentes)
    faites gaffe je pourrai venir vous hantez la nuit

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Points : 451
    Points
    451
    Par défaut
    Bonjour,
    Voila une procédure
    1 crée le dataset(avec l'assistant)
    2 crée la table (ajoute un dataadapter) avec l'assistant
    3 charge la table en modifiant la requête select du dataadapter
    4 lie le datasource du combo au dataset
    5 lie le displaymember au champ à afficher
    6 lie le valuemember au champ à utiliser
    avec un bindingsource
    4 lie le bindingsource à la table du dataset
    5 lie le datasource du combo au dataset
    6 lie le displaymember au champ à afficher
    7 lie le valuemember au champ à utiliser

    Le bindingsource sert surtout au déplacement dans la table, gérer les événements.
    Bon boulot Jean

  5. #5
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 114
    Points : 86
    Points
    86
    Par défaut
    bon d'accord
    mais coté graphique je l'aime pas trop en plus quand je l'ai essayer il me donne pas accès a mes table je sais c'est bizarre mais c'est pourquoi je passe par le code .
    ET donc si je comprends biens mon code et bon si j'enlève mon bindingsource mais a parement ça me donne pas de résultat
    faites gaffe je pourrai venir vous hantez la nuit

  6. #6
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 114
    Points : 86
    Points
    86
    Par défaut
    j'ai trouvé la solution
    enfaite il faut faire obconnc
    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
     
     
    Try
                 OBjconncection.ouverture()
                 OBjconncection.insertion(requete)
                 OBjconncection.objDataSet =     OBjconncection.createtDataSet(requete, "test")
                  combo.Items.Clear()
                  combo.ValueMember = "test1" 'et une pris comme value"
                  combo.DisplayMember = "test2" 'puisque la combobox a                                                                             
                                                           'une valeur afficher 
     
                  combo.DataSource =  OBjconncection.objDataSet
                  combo.Update()
                  combo.Refresh()
     
            Catch ex As Exception
                MsgBox(ex.Message )
            End Try
    c'est important de respecter l'ordre c'est a dire que combo.DataSource doit se faire a la 3eme place ce qu'on appelle déclaration tardive
    merci comme même
    a bientot
    faites gaffe je pourrai venir vous hantez la nuit

  7. #7
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Citation Envoyé par fontome_ 123 Voir le message
    c'est important de respecter l'ordre c'est a dire que combo.DataSource doit se faire a la 3eme place ce qu'on appelle déclaration tardive
    T'es sûr ??????

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  8. #8
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 114
    Points : 86
    Points
    86
    Par défaut
    oui mais disons je me suis mal exprimé une liaison tardive plutôt
    mais l'ordre est important sinon dans le cas contraire ça marche pas ,c'est ce que j'ai eu comme résultat suite a mes modestes manipulation et suite à la doc trouvé du Dr LASSERRE Philippe
    faites gaffe je pourrai venir vous hantez la nuit

  9. #9
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Oui mais c'est faux ... peut importe l'ordre dans lequel tu positionnes le datasource par rapport au valuemember ou au displaymember.

    Autre remarque, le update ne sert à rien et le refresh non plus à partir du moment où on positionne le datasource.

    Un exemple :
    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
     
    Public Class Form1
        Public Sub New()
            InitializeComponent()
     
            Dim dt As New DataTable
            dt.Columns.Add("C1")
            dt.Columns.Add("C2")
            dt.Rows.Add(1, "Yop")
            dt.Rows.Add(2, "Yip")
            dt.Rows.Add(3, "Yap")
     
            Me.ComboBox1.ValueMember = "C1"
            Me.ComboBox1.DisplayMember = "C2"
            Me.ComboBox1.DataSource = dt
     
            Me.ComboBox2.DataSource = dt
            Me.ComboBox2.ValueMember = "C1"
            Me.ComboBox2.DisplayMember = "C2"
     
        End Sub
    End Class
    Les 2 combos fonctionnent trés bien.

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DataSet bindingSource DataGrid
    Par Wamdeus dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/07/2009, 14h16
  2. [C#]combobox et bindingsource comment ca marche?
    Par FraktaL dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/07/2006, 21h57
  3. [FLASH MX] ComboBox et DataSet
    Par totoche dans le forum Flash
    Réponses: 1
    Dernier message: 06/09/2005, 10h27
  4. [FLASH MX] dataset datagrid combobox
    Par totoche dans le forum Flash
    Réponses: 1
    Dernier message: 03/08/2005, 17h55
  5. Réponses: 4
    Dernier message: 30/03/2005, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo