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 :

[.NET C# VS2005] Soucis sur un DataGridView


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de NeraOne
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 218
    Points : 128
    Points
    128
    Par défaut [.NET C# VS2005] Soucis sur un DataGridView
    Bonjour à toutes et à tous !
    J'ai un petit soucis sur un DataGridView. J'ai deux colonnes "Identifiant" et "Libellé". Ce DataGridView est rempli par un DataSet. Au moment où il est rempli, il me rempli correctement mes deux colonnes mais il en ajoute deux autres, les deux mêmes, apparement directement issue de la base puisque les titres sont en fait le nom des champs de la base.
    Je vous présente le code et en pièce jointe vous trouverez le résultat de l'exécution... :

    Définition du DataGridView dans le Form.Designer.cs :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    this.TableauTournees = new System.Windows.Forms.DataGridView();
    this.ColonneIdentifiant = new System.Windows.Forms.DataGridViewTextBoxColumn();
    this.ColonneLibelle = new System.Windows.Forms.DataGridViewTextBoxColumn();
    // 
    // TableauTournees
    // 
    this.TableauTournees.AllowUserToAddRows = false;
    this.TableauTournees.AllowUserToDeleteRows = false;
    this.TableauTournees.AllowUserToOrderColumns = true;
    this.TableauTournees.BackgroundColor = System.Drawing.Color.White;
    this.TableauTournees.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
    this.TableauTournees.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
    this.ColonneIdentifiant,
    this.ColonneLibelle});
    this.TableauTournees.Location = new System.Drawing.Point(6, 73);
    this.TableauTournees.MultiSelect = false;
    this.TableauTournees.Name = "TableauTournees";
    this.TableauTournees.ReadOnly = true;
    this.TableauTournees.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
    this.TableauTournees.Size = new System.Drawing.Size(760, 159);
    this.TableauTournees.TabIndex = 6;
    // 
    // ColonneIdentifiant
    // 
    dataGridViewCellStyle1.BackColor = System.Drawing.Color.White;
    dataGridViewCellStyle1.ForeColor = System.Drawing.Color.Black;
    this.ColonneIdentifiant.DefaultCellStyle = dataGridViewCellStyle1;
    this.ColonneIdentifiant.Frozen = true;
    this.ColonneIdentifiant.HeaderText = "Identifiant";
    this.ColonneIdentifiant.MinimumWidth = 30;
    this.ColonneIdentifiant.Name = "ColonneIdentifiant";
    this.ColonneIdentifiant.ReadOnly = true;
    this.ColonneIdentifiant.Width = 200;
    // 
    // ColonneLibelle
    // 
    dataGridViewCellStyle2.BackColor = System.Drawing.Color.Silver;
    this.ColonneLibelle.DefaultCellStyle = dataGridViewCellStyle2;
    this.ColonneLibelle.Frozen = true;
    this.ColonneLibelle.HeaderText = "Libellé";
    this.ColonneLibelle.MinimumWidth = 50;
    this.ColonneLibelle.Name = "ColonneLibelle";
    this.ColonneLibelle.ReadOnly = true;
    this.ColonneLibelle.Width = 500;
     
    ////////////////
    private System.Windows.Forms.DataGridView TableauTournees;
    private System.Windows.Forms.DataGridViewTextBoxColumn ColonneIdentifiant;
    private System.Windows.Forms.DataGridViewTextBoxColumn ColonneLibelle;
    Je crois qu'il y a tout ! C'est le code généré par Visual Studio 2005, je n'ai strictement rien touché !
    Voici comment j'utilise ce DataGridView :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    private void BoutonAfficherTournees_Click(object sender, EventArgs e)
    {
     
       //Objets relatifs à la récupération de toutes les tournées
       DataSet remplissageTournee = null;
     
       try
       {
          //Objet de stockage des tournées
          remplissageTournee = new DataSet();
     
          //Requête de récupération des tournées
          String requete = "select TACHE.CLETACHE, TACHE.LIBTACHE from TACHE where TACHE.CLNTACHE = 'Tournee' and NOSCENARIOTCH = " + CaseScenario.Value + " and CLESERVICE = " + SelectionService.SelectedValue;
     
          //Connexion à la base de données et exécution de la requête de récupération des tournées
          OleDbDataAdapter connexion = new OleDbDataAdapter(requete, "Provider=msdaora;Data Source=monServeur;User ID=monUser;Password=monMDP;");
     
          //Remplissage de l'objet de stockage
          connexion.Fill(remplissageTournee);
     
          //Affichage des service dans le tableau de tournées
          TableauTournees.DataSource = remplissageTournee.Tables[0];
          TableauTournees.Columns[0].DataPropertyName = remplissageTournee.Tables[0].Columns[0].ToString();
          TableauTournees.Columns[1].DataPropertyName = remplissageTournee.Tables[0].Columns[1].ToString();
       }
     
       catch (Exception)
       {
          //Si la connexion ne s'est pas faite, on déconnecte le tableau de tournée et de sa source
          TableauTournees.DataSource = null;
     
          //On désactive la sélection du tableau de tournées
          TableauTournees.ClearSelection();
     
          //On affiche un message d'erreur qui dit que la connexion à la base de données ne s'est pas faite
          MessageBox.Show("La connexion à la base de données n'a pu être réalisée. Dans le Menu Paramètres > Paramètres de la base de données, vérifier que tout les paramètres sont correctement définis", "Connexion à la base de données impossible", MessageBoxButtons.OK, MessageBoxIcon.Warning);
       }
     
    }
    Et donc en pièce jointe, vous pouvez voir ce que cela donne à l'exécution. Moi je ne voudrais garder que les colonnes que j'ai moi même définies : Libellé et Identifiant !
    Merci d'avance pour vos réponses !
    @+
    Antoine

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 104
    Points : 128
    Points
    128
    Par défaut
    bonjour,

    Je pense qu'il faut modifier la propriété AutoGenerateColumns de ton DataGridView.

  3. #3
    Membre habitué Avatar de NeraOne
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 218
    Points : 128
    Points
    128
    Par défaut Merci merci
    Comme quoi, des fois l'informatique c'est simple !!!
    Merci beaucoup cboun94, tu m'enlève une belle épine du pied !
    @bientôt
    Antoine

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/07/2009, 13h42
  2. [.NET C# VS2005] Question sur DateTime.Substract
    Par NeraOne dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/05/2007, 11h52
  3. [.NET - C# VS2005] Problème de sélection sur un DataGridView
    Par NeraOne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 11/05/2007, 11h30
  4. [VB.NET]récuperation d'information sur datagridview
    Par philippe carel dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/05/2006, 08h58

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