我明白了:
var dsetValueFields = rds.Result.Columns.Cast<DataColumn>().Where(c=>c.DataType==typeof(Decimal));
需要转换为DataTable。试过这个:
DataTable dt = new DataTable();
dt.Columns.AddRange(dsetValueFields.ToArray());
但是得到错误,“列是另一个表的一部分。”
谢谢!
答案 0 :(得分:0)
您需要在枚举中创建列的副本。与DataRow
s类似,DataColumn
只能附加到一个表格。
dt.Columns.AddRange(dsetValueFields
.Select(c => new DataColumn(c.Name, c.DataType))
.ToArray());