Пользовательский агрегат RadGrid: где я?

1

У меня есть radgrid, который требует нескольких уровней группировки, с агрегатами везде. Некоторые из этих агрегатов являются обычными, это первые пользовательские агрегаты, которые мне когда-либо приходилось делать.

Я вижу, что событие OnCustomAggregate запускается для каждого настраиваемого агрегата: для каждого столбца произвольной сборки в любой группе в иерархии и в нижнем колонтитуле "общий итог".

Мой вопрос: как я могу сказать, в моем обработчике событий CustomAggregate, агрегат WHAT-группы запрашивается сеткой? Например, если мои данные сгруппированы по Стране, то по состоянию, как я могу сказать, что текущий вызов CustomAggregate предназначен для "Бразилии" или "Калифорния" или "Великая сумма для всей сетки"?

Мой googling, кажется, терпит неудачу сегодня.

Спасибо.

Теги:
telerik-grid

1 ответ

0
Лучший ответ

Хм, я наконец нашел образец проекта, который должен вас начать. На этой ссылке есть целый образец проекта, но ниже я привел фрагмент обработки пользовательских агрегатов.

  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;
        }
    }
  • 0
    Это очень полезно, спасибо. Я не вижу отличного способа из GroupHeaderItem или GroupFooterItem, как определить критерии выбора группы. Я буду хромать вместе с разбором метки group.DataCell.Text, пока не найду что-нибудь получше.
  • 0
    Можете ли вы добавить информацию о вашей группе к ключам данных отдельных элементов? Я полагаю, что, получив правильный заголовок группы, вы сможете достаточно легко получить первый элемент внутри группы ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню