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

Windows Mobile .NET Discussion :

[C#][SQLCe] Remplir une combobox via une table sql (Databinding?)


Sujet :

Windows Mobile .NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 103
    Points : 97
    Points
    97
    Par défaut [C#][SQLCe] Remplir une combobox via une table sql (Databinding?)
    Bonjour à tous !
    Tout est quasiment dans le titre mais je vais vous expliquer ma démarche :

    Je souhaiterai réaliser une application utilisant une base de donnée SQL contenue dans un fichier livré avec le programme (pas de SQL server qui tourne sur le pocket pc). Donc je me suis penché sur la réalisation en créant un projet smart device, là j'ajoute mon fichier de base de donnée et l'assistant me propose demande ce que je veux avoir sur le Dataset lié à la bdd, donc je coche les deux options dispo : table et vues.
    Donc j'ai maBDD.sdf et l'objet généré maBDDDataSet.
    J'ouvre l'explorateur de serveur et j'ajoute une table PERSONNE avec en colonne un ID et un NOM pour faire simple. Puis j'ajoute quelques entrées.

    Mon but est ensuite de lier ma combobox à cette table en affichant dans la liste le Nom et dans la valeur de la combo l'ID.

    Alors comme je n'y connait pas gand chose en BDD, j'ai essayé de comprendre comment tout ce petit monde fonctionne, en particulier le Dataset (qu'est ce que c'est ? ça fait quoi ? Comment on s'en sert?).
    Tout ce que j'ai pu trouver était assez indigeste mais une chose a retenue mon attention : le databinding qui semblerait correspondre a mon besoin mais je n'ai pas réussi à le mettre en oeuvre.

    J'ai compris qu'au niveau de la combobox il faut remplir les propriétés DataSource, DisplayMember et ValueMember.
    donc ça me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    comboBox1.DataSource = myBDD.Tables["PERSONNE"];
    comboBox1.DisplayMember = "Nom";
    comboBox1.ValueMember = "ID";
    Et là je bloque ... il manque certainement quelque chose mais ça m'échappe. D'autant plus que bon nombre de tutoriaux utilisent un DataAdapter ce qu'il ne semble pas exister sur plateforme SmartDevice.


    Donc si une ame charitable voudrait bien éclaisir ma lanterne concernant ce problème voire même de m'expliquer brièvement les bases pour moi faire joujou avec SQL, je lui en serait très reconnaissant!
    AlnCool

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2006
    Messages : 124
    Points : 130
    Points
    130
    Par défaut
    Tu dois faire le databinding
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      comboBox1.DataBindings.Add("SelectedItem", datasource, datamember);
    http://msdn2.microsoft.com/fr-fr/lib...y2(VS.80).aspx

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 103
    Points : 97
    Points
    97
    Par défaut
    Merci pour ta réponse. Je viens de tester le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    this.comboBox1.DataBindings.Add("SelectedItem", this.myBddDataSet.Tables["PERSONNE"], "Name");
    this.comboBox1.DataSource = this.myBddDataSet.Tables["PERSONNE"];
    this.comboBox1.ValueMember = "ID";
    this.comboBox1.DisplayMember = "Name";
    mais le message suivant apparaît:
    Additional information: Value can not be null.
    Parameter name: dataSource


    J'ai aussi essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    this.comboBox1.DataBindings.Add("SelectedItem", this.myBddDataSet, "PERSONNE.Name");
    this.comboBox1.DataSource = this.myBddDataSet;
    this.comboBox1.ValueMember = "PERSONNE.ID";
    this.comboBox1.DisplayMember = "PERSONNE.Name";
    Et là cette fois j'ai le message:
    Additional information: Child list for field PERSONNE cannot be created.

    En fait je ne comprend pas ce que cette méthode vient faire puisque les trois propriétés que j'ai déjà renseignée devraient suffire : j'ai la source (mon dataset) j'ai indiqué en tant que valeur à afficher (la colonne Name de la table PERSONNE) et la valeur de l'élément (la colonne ID de la table PERSONNE).

    Il se peut aussi que je n'ai pas renseigné correctement les propriétés de la combobox aussi ...

    EDIT: J'ai vu qu'il y avait aussi un objet BindingSource disponible dans les composants .. c'est peut être ça qu'il faut utiliser non ? Je suis perdu

  4. #4
    Candidat au Club
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    J'aurais aimé moi aussi savoir comment procéder si une personne pouvait nous aider ce serait génial!

Discussions similaires

  1. [Débutant] Récupérer une valeur d'une combobox via une SortedList
    Par smurfing dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/03/2013, 13h32
  2. remplir un combobox via une table mysql
    Par zOoOm_10 dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/03/2010, 16h39
  3. Remplir un combobox via une BD
    Par slimak dans le forum JSF
    Réponses: 5
    Dernier message: 03/06/2009, 16h40
  4. Difficulté d'affichage dans une comboBox via une requête
    Par moilou2 dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/07/2008, 10h44
  5. Ouvrir une form via une ComboBox
    Par Conficius dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/11/2005, 16h11

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