2012-04-21 17 views
0

私はList<String>に列を許可しています。私はすべての列がリストされているデータセットDT1を持っています。今私がしたいのは、DT1からの許可された列だけを取得することです。データテーブルを繰り返し処理し、リストの列を削除します

List<String> = FirstName,LastName,Age,EmailAddress 
DT1 contains = FirstName,LastName,Age,EmailAddress,Sex,PhoneNumber,Address 

私はすでにDataTable.Merge()foreachなどを試してみました...しかし、私は私の予想結果を得ることができませんでした。

var toBeRemoved = DT1.Columns.Cast<DataColumn>() 
       .Where(c => !allowed.Contains(c.ColumnName)) 
       .ToList(); 
foreach(DataColumn col in toBeRemoved) 
{ 
    DT1.Columns.Remove(col); 
} 

編集:あなたのリストを想定し

答えて

3

List<String>含む列の名前であるため

foreach(DataRow row in DT1.Rows) 
{ 
    foreach(DataColumn col in toBeRemoved) 
    { 
     row[col] = DBNull.Value; 
    } 
} 
+0

ありがとう:あなたはremovelistであるヌルフィールドを設定する方法を知りたいと思いましたクイックヘルプ、もし私が列を削除するのではなく、削除されたそれぞれの列の値をNULLに設定すると、もっと多くのことを教えてください。 –

+1

@Syed:私の答えを編集しました。 –

関連する問題