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 Forms Discussion :

Datagrid et liaison de données


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Par défaut Datagrid et liaison de données
    Bonjour a tous,

    je vais essayer d'être très bref car mon problème est assez simple..pourtant..pas moyen de trouver la soluce.

    J'ai 2 tables:
    client
    commande (avec refClient)

    J'ai créé un combobox qui affiche l'id du client, et un datagrid avec ses commandes..avec liaison des deux via un DataRelation.
    Facile, code trouvable sur beaucoup de site

    MAIS Je voudrais maintenant faire ceci, un combo avec l'id de mes commandes,
    un datagrid avec la commande (il y en aura toujours qu'une vu que je la selectionne dans le combo, je sais)
    et un textbox avec l'email du client

    Comment dois-je lier mes colonnes pour que les données se chargent lorsque je selectionne un id de commande dans le combo ??

    Extrait du code:
    ..
    //creation de la relation
    DataColumn colMaster1 = ds.Tables["Customers"].Columns["CustomerId"];
    DataColumn colDetail1 = ds.Tables["Orders"].Columns["refCustomer"];
    DataRelation relOrdCust = new System.Data.DataRelation("RelOrdCust", colMaster1,colDetail1);
    monDataset.Relations.Add(relOrdCust);


    dsView = ds.DefaultViewManager;

    // Grid Databinding
    gridSOOrders.DataSource = dsView;
    gridSOOrders.DataMember = "Orders";

    // Combobox Databinding
    cbOrderId.DataSource = dsView;
    cbOrderId.DisplayMember = "Orders.OrderId";
    cbOrderId.ValueMember = "Orders.OrderId";

    tbCustEmail.DataBindings.Add("Text", dsView, "Customers.CustomerEmail");

    ==================
    Avec ce code, le combo est bien lié au datagrid mais le texbox affiche l'email de mon premier client, et n'est jamais mis a jours par le combo


    Tous les commentaires sont bienvenus !!

  2. #2
    Membre éprouvé Avatar de beren.kei
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    bonjour,
    bon j'ai plus l'habitude de travailler avec des bases, mais le problème est compréhensible ici de la meme facon je crois : dans ta deuxième partie de code, tu devrais lier tes tables "Customers" et "orders", comme tu le fais dans la première...
    selon où se trouvent ces extraits de code dans la page, c'est possible que la première relation soit "private" et s'annule en sortant de la méthode, non? et pour la mise a jour, il faut faire ca dans la méthode :
    MaCombo_SelectionChangeCommitted
    peut etre un tbCustEmail.Refresh() ou tbCustEmail.DataBindings.Clear() puis a nouveau tbCustEmail.DataBindings.Add("Text", dsView, "Customers.CustomerEmail");

    je sais pas ce que ca vaut, mais c'est tout ce que je peuw faire pour t'aider...
    bonne chance!

  3. #3
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut
    Je suis d'accord, ton textbox ne reçoit pas l'ordre de se raffraichir ou alors ton combo de commandes ne donne pas l'ordre de raffraichir le textox.

    Tu as tout plein d'évènements liés au ComboBox, en faisant quelques tests, tu devrais facilement trouver.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/10/2007, 12h47
  2. l'expert Liaison de données XML
    Par LN(a) dans le forum Delphi
    Réponses: 1
    Dernier message: 01/12/2006, 18h15
  3. [datagrid]lier avec des données
    Par Alex35 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/12/2005, 10h10
  4. Où est l'Expert Liaison de données XML [BCB6]
    Par Colloc dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/02/2005, 14h33
  5. Liaison de données - formulaires
    Par Bikey dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 21/10/2004, 15h05

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