我有List<String>
允许列。我有一个数据集DT1,其中列出了所有列。现在我想要做的只是从DT1获取允许的列。
List<String> = FirstName,LastName,Age,EmailAddress
DT1 contains = FirstName,LastName,Age,EmailAddress,Sex,PhoneNumber,Address
我已经尝试了DataTable.Merge()
,foreach
等等......但我无法获得预期的结果。
答案 0 :(得分:3)
假设您的列表是包含列名的List<String>
:
var toBeRemoved = DT1.Columns.Cast<DataColumn>()
.Where(c => !allowed.Contains(c.ColumnName))
.ToList();
foreach(DataColumn col in toBeRemoved)
{
DT1.Columns.Remove(col);
}
编辑:您想知道如何设置removelist中的字段null:
foreach(DataRow row in DT1.Rows)
{
foreach(DataColumn col in toBeRemoved)
{
row[col] = DBNull.Value;
}
}