Получить элемент из сгруппированной таблицы данных c # - PullRequest
0 голосов
/ 09 февраля 2019

Я хочу получить item[col] из dataRow, но элемент в dt1.rows возвращает два элемента item[0] содержит уникальный идентификатор и 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 голосов
/ 09 февраля 2019

Вы можете получить строку, содержащую UniqueID в качестве ключа от вашего текущего item, как,

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

ИЛИ вы также можете использовать имя столбца вместо индекса, как,

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