#c#
#c#
Вопрос:
У меня есть DataTable, который выглядит следующим образом:
Id Value
123 4.0
123 5.0
234 1.0
345 2.0
345 3.0
Я хочу в конечном итоге получить (возможно, новую DataTable), которая содержит сумму
значения, сгруппированные по идентификатору следующим образом:
Id SumOfValue
123 9.0
234 1.0
345 5.0
Вот мой код,
var query = from row in dTable.AsEnumerable()
group row by row.Field<double>("ITEM_NO") into grp
orderby grp.Key
select new
{
ITEM_NO = grp.Key,
sum = grp.Sum(r = r.Field<double>("ITEM_STOCK"))
};
Я получаю сообщение об ошибке, что r is undefined
также я не могу добавить эти значения в новую datatable.
Кто-нибудь знает, как это написать?
Спасибо.
Ответ №1:
Я полагаю, что вы неправильно указываете операцию. Попробуйте это:
var query = from row in dTable.AsEnumerable()
group row by row.Field<double>("ITEM_NO") into grp
orderby grp.Key
select new
{
ITEM_NO = grp.Key,
sum = grp.Sum(r => r.Field<double>("ITEM_STOCK"))
};
Разница заключается в r => r.Field
вместо r = r.Field
.
Комментарии:
1. @RushabhShah Всегда пожалуйста. Как я сказал выше, если это вас устраивает, вы должны принять ответ, нажав на галочку, и вернуться к своим старым вопросам и принять ответ, если он удовлетворительный.