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 :

comment ajouté ligne a une datatable


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 28
    Points : 19
    Points
    19
    Par défaut comment ajouté ligne a une datatable
    je rencontre un problème avec ma datatable, je récupère les 2 nom rentrer dans les TBjoueur1 et Tbjoueur2 pour les ajouté dans ma datatable dans la colonne nom, a la 1ere récupération pas de problème, le nom sa m'affiche bien dans ma dtagridview, mais lorsque je récupère le nom pour la 2eme fois au lieu de me le mettre sur la 2eme ligne de ma datagridview il me le met a la place du 1er!

    comment faire?

    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
    23
    24
     
    if ((TBjoueur1.Text.Length != 0) && (TBjoueur2.Text.Length != 0))
                {
     
                    dt = new DataTable("Partie");
                    //creation des colone:
                    dt.Columns.Add("nom", System.Type.GetType("System.String"));
                    //dt.Columns.Add("Partie1", System.Type.GetType("System.String"));
     
                    //on insere une ligne:
                    dr = dt.NewRow();
                    dr["nom"] = (TBjoueur1.Text + " et " + TBjoueur2.Text);
                    dt.Rows.Add(dr);
     
                    //on affiche la table:
                    dataGridView1.DataSource = dt;
     
                    //dt.Columns.Add("Partie1", System.Type.GetType("System.String"));
     
                   // Sauvegarder_Nom_Equipe(TBjoueur1.Text, TBjoueur2.Text);
                    TBjoueur1.Text = null;
                    TBjoueur2.Text = null;
                    Incrementer_Nombre_Equipe();
                }

  2. #2
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    TU renouvelle à chaque fois ta DataTable, donc forcément, les données ne sont pas conservées.

    Plutôt que de passer par une DataTable que tu recréée à chaque fois, passe par une DataTable permanente.

    Ou alors, ajoute les données directement au DataGridView.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ou alors, ajoute les données directement au DataGridView.
    NAN !!

    Le datagridview est une vue dans l'UI destinée a l'utilisateur
    Quand un DataGridView est bindé il est plus que conseillé de faire les manipulation de donnée en programation sur la source et PAS dans le DGV
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  4. #4
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    J'étais sûr que certains allaient râler quand j'ai dit ça

    Tu as tout à fait raison. Donc il ne reste qu'une option, ne pas recréer la DataTable à chaque appel de la fonction, mais la déclarer en tant que variable de classe, faire le binding dans le constructeur de la Form et la modifier dans les fonctions.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. Comment ajouter/modifier/supprimer une ligne TadvStringList
    Par whitespirit dans le forum C++Builder
    Réponses: 0
    Dernier message: 28/05/2009, 08h12
  3. [Débutant] Comment ajouter un espace à une ligne et concaténation
    Par niepoc dans le forum MATLAB
    Réponses: 1
    Dernier message: 26/04/2008, 08h31
  4. Réponses: 5
    Dernier message: 07/08/2007, 10h10
  5. [C#] Problème d'ajout d'une ligne dans une DataTable
    Par therock dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/11/2006, 08h27

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