2011-07-27 38 views
0

我有一堆數據表(在列表中),全部使用50列。將數據表的部分合併爲一個

說我想建立一個新的數據表,列20-29和40-49。 ,然後將每個數據表中的所有行復制到新數據表中。但只有那些選定的列。

DataTable.Merge()將不起作用,因爲我只想要列的一個子集。

實現此目標的最佳方法是什麼?

回答

1

我想簡單的純老for循環應該做的這些條件

DataTable table = new DataTable(); 
DataTable existing = listOfTables[0]; 

for(int i = 20; i < 30; i ++) 
{ 
    table.Columns.Add(existing.Column[i].Name; 
    table.Columns.Add(existing.Column[i + 20].Name; 
} 

foreach(DataTable table in listOfTables) 
{ 
    foreach(DataRow row in table.Rows) 
    { 
     DataRow newRow = table.NewRecord(); 
     foreach(Column column in table.Columns) 
     { 
      newRow[column.Name] = row[column.Name]; 
     } 
     table.Rows.Add(row); 
    } 
} 

注意 我還沒有編譯的代碼下的伎倆。

+0

是。僞代碼應該做的伎倆。謝謝! –

+0

是的,這個代碼是好的,但是,當你添加40-49時,它將重新添加該行,該行應該已經存在... –

+0

我不確定你的意思,你能闡述?我想你在第二部分提到問題,我在複製行,對吧? –

相關問題