begin process at 2008 09 06 09:11:02
1 237 666 membres
63 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : choix des colonnes à ajouter dans datagridview à partir d'un dataset [ Base de données / ADO.NET ] (ericdu93)

choix des colonnes à ajouter dans datagridview à partir d'un dataset le 06/03/2008 20:19:59

ericdu93
Bonjour,

je récupère les données d'un fichier excel à l'aide d'ado.net et que je stocke dans une table de mon dataset qu'on appelle "toto". J'aimerai afficher dans un datagridview seulement certaines colonnes de ma table " toto". Voilà ce que j'ai essayé de faire:

...
s = new DataSet();
ThisCommand.Fill(ds, "toto");
dataGridView1.Columns.Add(ds.Tables["toto"].Columns["Email"]);
dataGridView1.Columns.Add(ds.Tables["toto"].Columns["Civilité"]);

et j'obtiens l'erreur:
Erreur    1    La méthode surchargée correspondant le mieux à 'System.Windows.Forms.DataGridViewColumnCollection.Add(System.Windows.Forms.DataGridViewColumn)' possède des arguments non valides   


Bien sûre si je fais:
dataGridView1.DataSource = ds.Tables["toto"];
ca marche, pour vous montrer qu'il n'y a pas de souci jusqu'à la création du dataset.


Donc pouvez vous me donner un coup de main svp.
Merci d'avance.

Re : choix des colonnes à ajouter dans datagridview à partir d'un dataset le 07/03/2008 10:14:42

Amelie_29
Réponse acceptée !
Tu peux créer les colonnes de ton datagridview de cette façon :


DataGridViewTextBoxColumn

DTGV_Id_Colonne = newDataGridViewTextBoxColumn();

DTGV_Id_Colonne.DataPropertyName = "CHAMP_DATASET";  // Lie la colonne du dataset à la colonne du datagridview

DTGV_Id_Colonne.HeaderText =

"Nom_En_Tête_Colonne";

DTGV_Id_Colonne.Name =

"Nom_Colonne";

DTGV.Columns.Add(DTGV_Id_Colonne);

DTGV.AutoGenerateColumns =

false;
Ensuite tu bindes ton datagridview à ton dataset.
DTGV.datasource = dataset;




Re : choix des colonnes à ajouter dans datagridview à partir d'un dataset le 07/03/2008 15:54:13

ericdu93
Bonjour Amelie_29,

J'ai fais comme tu as dit:

                ds= new DataSet();
                ThisCommand.Fill(ds, "toto");
                DataGridViewTextBoxColumn DTGV_Id_Colonne = new DataGridViewTextBoxColumn();
                DTGV_Id_Colonne.DataPropertyName = "Email";  // Lie la colonne du dataset à la colonne du datagridview
                DTGV_Id_Colonne.HeaderText ="Email";
                DTGV_Id_Colonne.Name ="Email";
                dataGridView1.Columns.Add(DTGV_Id_Colonne);
                dataGridView1.AutoGenerateColumns = false;
                dataGridView1.DataSource = ds["toto"];

mais en affichant mon datagrid, j'ai qu'une colonne avec comme headerName "Email" sans toutes les enregistrements en dessous.

Aurais-tu une solution ?
Merci d'avance.

Re : choix des colonnes à ajouter dans datagridview à partir d'un dataset le 07/03/2008 15:58:55

ericdu93
Oops, j'ai fait une faute à la dernière instruction en oublier le "Tables", ce qui donne maintenant
dataGridView1.DataSource = ds.Tables["toto"];

Cette fois-ci, il apparaît que des cases blanches en dessous de ma colonne "Email"

Re : choix des colonnes à ajouter dans datagridview à partir d'un dataset le 07/03/2008 16:24:55

Amelie_29

Récupères-tu bien les emails dans le dataset ?



Re : choix des colonnes à ajouter dans datagridview à partir d'un dataset le 07/03/2008 16:27:34

Amelie_29
Réponse acceptée !

Essaie peut-être ça :

DTGV.Datasource = ds;
DTGV.Datamember = "toto";


Re : choix des colonnes à ajouter dans datagridview à partir d'un dataset le 07/03/2008 17:35:07

ericdu93
Merci, en testant ton dernier code, je me suis rendu compte que mon champs s'appellait "E-mail" avec un tiret et non "Email". Je mérite d'être fouetté je sais.

merci en tout cas.



Classé sous : dataset, toto, ds, columns, colonnes

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS