У меня есть radgrid, который требует нескольких уровней группировки, с агрегатами везде. Некоторые из этих агрегатов являются обычными, это первые пользовательские агрегаты, которые мне когда-либо приходилось делать.
Я вижу, что событие OnCustomAggregate запускается для каждого настраиваемого агрегата: для каждого столбца произвольной сборки в любой группе в иерархии и в нижнем колонтитуле "общий итог".
Мой вопрос: как я могу сказать, в моем обработчике событий CustomAggregate, агрегат WHAT-группы запрашивается сеткой? Например, если мои данные сгруппированы по Стране, то по состоянию, как я могу сказать, что текущий вызов CustomAggregate предназначен для "Бразилии" или "Калифорния" или "Великая сумма для всей сетки"?
Мой googling, кажется, терпит неудачу сегодня.
Спасибо.
Хм, я наконец нашел образец проекта, который должен вас начать. На этой ссылке есть целый образец проекта, но ниже я привел фрагмент обработки пользовательских агрегатов.
protected void RadGrid1_CustomAggregate(object sender, GridCustomAggregateEventArgs e)
{
if (e.Item is GridGroupFooterItem)
{
GridGroupFooterItem footer = e.Item as GridGroupFooterItem;
GridItem[] groups = RadGrid1.MasterTableView.GetItems(GridItemType.GroupHeader);
foreach (GridGroupHeaderItem group in groups)
{
if (group.GroupIndex == footer.GroupIndex)
{
int count = 0;
e.Result = Calculate(group, count);
}
}
}
if (e.Item is GridFooterItem)
{
e.Result = 5;
}
}