从分组的数据表中获取项目

时间:2019-02-09 10:04:08

标签: c# datatable group-by dataset datarow

我想从item[col]获取dataRow,但是dt1.rows中的项目返回两个元素item[0]包含唯一ID,而item[1]返回我想要的所有属性添加到行

var dataSet = ToDataSet(rows.GroupBy(a => a["UniqueID"]).ToDictionary(gdc => 
gdc.FirstOrDefault()).ToList());

DataTable dt1 = dataSet.Tables[0];

foreach (DataRow item in dt1.Rows)
{
    row = new Dictionary<string, object>();

    foreach (DataColumn col in dt.Columns)
    {
        row.Add(col.ColumnName, item[col]);
    }
    rows.Add(row);}`

    //item[col] return two element, the first element contains uniqueID and the second element contains all attributes              
}

我如何获得item.ItemArray[0]

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以从当前的item中获取包含UniqueID作为关键字的行,

var results = dt1.AsEnumerable().Select(x => x.Field<string>(0)).ToList();

或者您也可以使用列名代替索引,例如

var results = dt1.AsEnumerable().Select(x => x.Field<string>("UniqueID")).ToList();