RadGrid Custom Aggregate:我在哪里?

时间:2014-05-21 20:19:27

标签: c# asp.net telerik-grid

我有一个需要多级分组的radgrid,到处都有聚合。其中一些聚合是自定义聚合,这是我必须做的第一个自定义聚合。

我发现每个自定义聚合都会触发OnCustomAggregate事件:对于层次结构中任何分组中的每个自定义聚合列,以及网格" grand-total"页脚。

我的问题:如何在CustomAggregate事件处理程序中告知网格正在请求WHAT组聚合?例如,如果我的数据按国家/地区分组,那么按国家/地区,我如何判断CustomAggregate的当前调用是针对"巴西"或"加利福尼亚"还是&#34 ;整个网格的总计"?

今天我的谷歌搜索似乎让我失望了。

谢谢。

1 个答案:

答案 0 :(得分:0)

嗯,我终于找到了一个可以帮助你入门的示例项目。这个link有一个完整的示例项目,但我在下面添加了自定义聚合处理代码段。

  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;
        }
    }