У меня есть DataTable, который содержит 5 столбцов.C# DataTable - GroupBy then OrderBy
активности (строка) Clock In (DateTime) Clock Out (DateTime) Всего (двойной) Типа (интермедиат)
Я необходимость GroupBy часов вне datetime.date и в том, что OrderBy Тип.
Итак, по существу, если у меня есть данные, я хочу, сгруппированных/заказ как это:
Activity Clock In Clock Out Total Type
Drawing 09/16/13 13:30 09/16/13 13:32 0.02 1
Drawing 09/16/13 13:40 09/16/13 13:42 0.02 1
Testing 09/16/13 13:50 09/16/13 13:52 0.02 1
Testing 09/16/13 13:30 09/16/13 13:34 0.04 2
Testing 09/16/13 13:40 09/16/13 13:54 0.14 2
Drawing 09/17/13 13:50 09/17/13 13:52 0.02 1
Testing 09/17/13 13:30 09/17/13 13:34 0.04 2
Testing 09/17/13 13:40 09/17/13 13:54 0.14 2
Testing 09/18/13 13:52 09/18/13 13:54 0.02 2
У меня есть все данные в DataTable уже, мне просто нужно помочь с группировкой ...
Любые мысли ??? Я пробовал:
groupedSortedTbl = dt.AsEnumerable()
.GroupBy(d => d.Field<DateTime>("CLOCK_OUT").Date)
.SelectMany(g => g.OrderBy(t => t.Field<int>("Type")))
.CopyToDataTable();
Вы хотите сгруппировать по 'Clock Out'? Если да, то почему вы используете 'SelectMany', чтобы сгладить их потом? Вместо этого вы можете использовать 'OrderBy' +' ThenBy'. –
'SelectMany' эффективно избавляется от группировки. Вам нужен единый результирующий набор или набор групп? –