2009-03-13 8 views
0

Salut J'ai un datatable avec 5 colonnes et je voudrais copier seulement deux de ces colonnes à une autre datatable. Quelle est la meilleure façon de procéder?Copie DataTable

DataTable 1:

col1 col2 col3 col4 col5 
1 2 3 4 5 
6 7 8 9 10 

DataTable 2:

col1 col2 
1 2 
6 7 

Merci

Répondre

0

Would quelque chose comme ça être efficent?

 DataTable myTable = new DataTable(); 
     myTable.Columns.Add("Col1"); 
     myTable.Columns.Add("Col2"); 
     myTable.Columns.Add("Col3"); 
     myTable.Columns.Add("Col4"); 
     myTable.Columns.Add("Col5"); 
     myTable.Rows.Add(new object[] { "hey", "hey", "Hey", "hey", "Hey" }); 
     GridView1.DataSource = myTable; 
     GridView1.DataBind(); 

     DataTableReader myReader = myTable.CreateDataReader(); 

     DataTable myTable2 = new DataTable(); 
     myTable2.Load(myReader); 
     myTable2.Columns.Remove("Col3"); 
     myTable2.Columns.Remove("Col4"); 

     GridView2.DataSource = myTable2; 
     GridView2.DataBind(); 
0

ou vous pouvez cloner le datetable et de supprimer les colonnes que vous ne voulez pas/besoin

DataTable dtTest = dtAllData.Clone(); 
dtTest.Columns.Remove("col3"); 
dtTest.Columns.Remove("col4"); 
+0

Je ne belive copie les données de clone, de sorte que vous auriez probablement encore besoin de parcourir et copier les colonnes pour chaque rangée. – si618

+0

pas trop sûr mais il a semblé fonctionner quand je l'ai essayé, je ne me souviens pas à 100% – dkarzon