2012-10-15 4 views
0

J'ai trois DataTables en C# appelés MIT, Oracle et Différence. Pourriez-vous s'il vous plaît laissez-moi savoir comment ajouter ces trois tables à un gridview en tant que colonnes séparées? Je sais comment lier un DataTable à un gridview comme indiqué ci-dessous. Mais je dois même à faire pour plusieurs DataTables.Please aiderConvertir plusieurs DataTables en colonnes dans un seul datagridview

dataGridView1.DataSource = MIT; 

une image de Here du GridView.

+0

Vous devez fusionner ces DataTables. Mais comment sont-ils liés les uns aux autres, pouvez-vous les rejoindre? –

+0

Je dois comparer les numéros de pièce dans les tableaux de données "MIT" et "Oracle" et ajouter les différences au tableau de données "Différence". Tous les DataTables contiennent seulement une colonne appelée "numéro de pièce" –

+0

Pouvez-vous montrer des données d'échantillon réduites et le résultat souhaité? –

Répondre

0

Je pense que vous devez combiner vos tables dans un DataSet puis utilisez une colonne commune (je présume qu'il y en a une!) pour créer DataRelations entre les tables. Cela vous permettra de lier votre DataGridView au résultat d'une requête sur le DataSet. Pour plus d'informations: voir here.

0

Même si vous ajoutez ces trois tables différentes dans GridView (en ajoutant des colonnes de chaque DataTable). Comment peupleriez-vous les données dans chaque rangée car les trois pourraient être différents. Donc, il doit y avoir un moyen d'abord rejoindre ces tables en une seule base de toute relation, vous pouvez associer/lier la résultante DataTable à GridView:

EnumerableRowCollection<DataRow> result = 
       from t1 in dt1.AsEnumerable() 
       join t1 in dt2.AsEnumerable() 
       on t1.Field<int>("KeyId") equals 
        t2.Field<int>("KeyId") 
       select new 
       { 
        KeyId = t1.Field<int>("KeyId"), 
        Column1 = t1.Field<string>("Column1"), 
        Column2 = t2.Field<string>("Column2"), 
        . 
        . 
       }; 

dataGridView1.DataSource = result.AsDataView(); 
+0

merci pour la réponse –

0

Vous devez fusionner vos multiples données dans une datatable, puis donner comme source de données au datagridview.below link aidera à fusionner les datatables à un.

http://www.aspnettutorials.com/tutorials/database/bind-mult-table-gridview-asp4.aspx

OU

vous devez sélectionner vos données dans une table unique en utilisant le joint approprié. DataGridViews affiche ses données dans un format de table unique - il n'y a pas de concept de "table multiple" dans un DataGridView.

DataSet.Merge() peut vous aider à fusionner des DataRows d'objets séparés en un seul.

+0

merci pour la réponse –

Questions connexes