2009-03-13 7 views
0

こんにちは私は5列のデータテーブルを持っているので、それらの列のうちの2つだけを別のデータテーブルにコピーしたいと思います。これを行う最善の方法は何ですか? 1DataTable Copy

のDataTable:

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

のDataTable 2:

col1 col2 
1 2 
6 7 

おかげ

答えて

0

なり、このようなものは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

か、datetableのクローンを作成し、あなたが/たくない列を削除することができますが、おそらくまだ反復処理と列をコピーする必要がありますので、私は、クローンコピーデータを信じていない

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

が必要各行について。 – si618

+0

あまり確かではありませんが、私はそれを試したときに動作するように見えました、あなたは100% – dkarzon