2010-08-12 5 views
0

J'ai 4 liste. Je veux convertir ces listes en Datatable avec 4 colonnes. Chaque liste affectée dans la colonne correspondante dans DataTable.Comment puis-je convertir une liste générique en dataTable?

List<string> list1; 
List<string> list2; 
List<string> list3; 
// and 
List<string> list4; 

ce que je veux convertir datatable comme

colonnes: List1 List2 List3 List4

Quelqu'un peut-il me dire Solution facile pour cela?

+0

Est-ce que les listes ont une relation entre elles? –

+0

Sauf si vous pouvez prouver qu'il va sauver le monde, je vais aller avec aucun –

+0

@Andreas Merci. –

Répondre

1

ne l'ont pas essayé en dehors de simplement s'assurer qu'il construit, fonctionne, et semble peupler l'amende datatable.

 var dataTable = new DataTable(); 
     dataTable.Columns.Add("Col1", list1.GetType().GetGenericArguments().First()); 
     dataTable.Columns.Add("Col2", list2.GetType().GetGenericArguments().First()); 
     dataTable.Columns.Add("Col3", list3.GetType().GetGenericArguments().First()); 
     dataTable.Columns.Add("Col4", list4.GetType().GetGenericArguments().First()); 

     // assumes they all match on count 
     for (int i = 0; i < list1.Count; i++) 
     { 
      dataTable.Rows.Add(list1[i], 
           list2[i], 
           list3[i], 
           list4[i]); 
     } 
+0

En fait, il a déjà dit que les listes sont toutes des chaînes, donc vous pouvez passer la réflexion. Le seul autre problème que je vois est que les listes peuvent être de différentes longueurs, mais c'est quelque chose dont il va avoir à se soucier. Avec son design affreux. – Will

+0

Oui, j'ai essayé de cette façon ce ok ... mais je veux faire une nouvelle façon d'ajouter la liste dans datatable ... – sankar

Questions connexes