2014-05-21 3 views
1

나는 여러 그룹의 그룹화가 필요하고 모든 집계가 필요한 radgrid를 가지고 있습니다. 이러한 집계 중 일부는 사용자 지정 집계이며, 내가 수행 한 첫 번째 집계입니다.RadGrid 맞춤 집계 : 어디 있습니까?

OnCustomAggregate 이벤트는 모든 사용자 지정 집계에 대해 발생합니다. 계층 구조의 그룹 및 그리드의 "총계"바닥 글의 각 사용자 지정 집계 열에 대한 것입니다.

내 질문 : 내 CustomAggregate 이벤트 처리기에서 그리드에서 요청한 그룹 집계를 어떻게 알 수 있습니까? 예를 들어, 내 데이터가 국가 별, 국가 별로 그룹화 된 경우 CustomAggregate의 현재 호출이 "브라질"또는 "캘리포니아"또는 "전체 그리드의 총계"에 대한 것이라고 어떻게 알 수 있습니까?

내 인터넷 검색이 오늘 실패한 것 같습니다.

감사합니다.

답변

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

매우 도움이됩니다. 감사합니다. GroupHeaderItem 또는 GroupFooterItem에서 그룹의 선택 기준을 결정하는 좋은 방법은 없습니다. 나는 그룹을 파싱하는 것과 함께 절름발이 다. DataCell.Text 레이블. –

+0

개별 항목의 데이터 키에 그룹 정보를 추가 할 수 있습니까? 일단 그룹 내의 첫 번째 항목을 쉽게 잡을 수있는 적절한 그룹 헤더를 얻었다면 다음과 같이 가정합니다. –