2011-08-01 4 views
6

J'ai un programme C# qui sélectionne les données de deux fichiers de base de données différents et combine les données dont j'ai besoin dans un datatable (dt). Toutes les informations dont j'ai besoin sont dans cette base de données, et je veux les mettre dans un DataGridView. En plus des informations contenues dans le datatable, j'ai aussi deux colonnes dans le datagridview que je vais calculer lorsque j'ajoute chaque ligne à datagridview (dataGridView1).Transfert de données de datatable à datagridview en C#

Ma question est: Comment puis-je obtenir ma datatable (dt) dans le datagridview (dataGridView1)? Est-ce que je peux faire quelque chose comme ça ?:

dataGridView1.column("MemberSep") = dt.column("MBRNUM); 

Je pense que je pourrais boucle à travers datatable, calculer les valeurs pour mes deux premières colonnes du datagridview, puis écrire tout à une rangée jusqu'à ce que je J'ai lu tout le datatable. Je n'ai jamais travaillé avec un contrôle datagridview auparavant. Toute aide serait grandement appréciée.

Picture of my App

Répondre

15

Set DataSource à la DataTable de DataGridView.

+0

Je vois la propriété pour DataSource, et la boîte de dialogue pour ajouter des sources de données du projet. Mais, quand j'essaie cela, je ne vois pas où choisir mon datatable. Je ne suis pas familier avec cette action (en choisissant une source de données), il se peut que je manque une étape. – Kevin

+1

+1. Gardez cela simple. Et effectuez vos requêtes de sorte que le titre de la colonne que vous voulez est le nom réel de la colonne. Par exemple, "Sélectionnez MBRNUM ASMemberSep ..." – David

+0

Oh, donc je peux juste dire "dataGridView1.DataSouce = dt" dans mon programme? – Kevin

1
DataTable table = new DataTable(); 
//add in tables 
table.Columns.Add("Column 1", typeof(int)); 
table.Columns.Add("Column 2", typeof(int)); 
//add in rows 
table.Rows.Add(1, 2); 

ce serait juste moyenne itérer de la DBF et en saisissant les noms de colonnes puis de les insérer avec 2 pour chaque (colonne) boucles, puis ajouter dans vos colonnes personnalisées dont vous avez besoin. Peut également supprimer toutes les colonnes de liaison qui sont identiques dans chaque colonne.

Puis 2 autres pour chaque (ligne) boucles et vous pouvez remplir les lignes de données. Tout ce qui reste est un pour chaque ligne de la table pour calculer les valeurs de colonnes personnalisées pour cette ligne.

Selon les rapports des années DBF vous pouvez simplement modifier légèrement les boucles.

0

Si vous souhaitez remplir manuellement datagridview, je suggère d'utiliser des datatables et des lignes fortement typées à partir de Dataset. Dans ce cas, vous n'avez pas à vous soucier des noms de colonnes.

Questions connexes