내용으로 건너뛰기
UltraWinGrid 요약 디스플레이 영역: 사용 시기

UltraWinGrid 요약 디스플레이 영역: 사용 시기

UltraWinGrid는 셀 수 없이 많은 귀중한 데이터 중심 기능을 제공하며 최종 사용자가 적합하다고 생각하는 대로 다양한 유형의 보기, 레이아웃 및 스타일로 변형할 수 있습니다.

3min read

열을 요약할 때 꽤 많은 위치에 결과를 표시할 수 있습니다. 이 문서에서는 그리드가 그룹화되고 그룹화되지 않을 때의 다양한 표시 영역을 나열하고 설명합니다. 요약이 배치될 위치를 이해할 수 있습니다.

SummaryDisplayAreas 속성은 여러 위치에서 동시에 요약을 배치해야 하는 위치를 지정하기 위해 플래그가 지정된 열거형으로 쉽게 정의할 수 있습니다. 배치할 수 있는 위치는 4개뿐입니다.

1. 그룹화되지 않은 그리드의 루트 행 컬렉션의 바닥 글에서
2. 그룹별 행의 각 데이터 행 컬렉션의 끝에서
3. group-by rows 컬렉션의 바닥 글에서
4. 각 그룹별 행 내(정렬된 열 이름 오른쪽)

요약 바닥글은 다음 위치에 표시됩니다.

  1. Default.
    1. 각 group-by 행의 끝에 있는 행 컬렉션
    2. 그룹별 행
    3. 루트 행 컬렉션(그룹화되지 않음)

예 1: 그룹화된 행

  1. Bottom
    1. 각 group-by 행의 끝에 있는 행 컬렉션
    2. 루트 행 컬렉션(그룹화되지 않음)

예 2: 그룹화된 행

예제 2.1: 그룹화되지 않은 행
  
  1. BottomFixed
    1. 각 group-by 행의 끝에 있는 행 컬렉션
    2. 루트 행 컬렉션(그룹화되지 않음). 요약 바닥글이 수정되어 보기에서 스크롤되지 않습니다.

Example 3: Ungrouped

  1. GroupByRowsFooter(이 플래그는 효과를 보려면 Top, TopFixed, Bottom 또는 BottomFixed와 결합해야 함)
    1. 각 group-by 행의 끝에 있는 행 컬렉션
    2. group-by 행 컬렉션의 요약 바닥글
    3. 루트 행 컬렉션(그룹화되지 않음)

예 4: 그룹화된 행

  1. HideDataRowFooters
    1. 각 group-by 행의 끝에 있는 행 컬렉션
    2. 루트 행 컬렉션
  2. InGroupByRows
    1. 그룹별 행
  3. RootRowsFootersOnly(이 플래그는 효과를 보려면 Top, TopFixed, Bottom 또는 BottomFixed와 결합해야 합니다. 행이 그룹화되지 않은 경우 이 플래그는 적용되지 않습니다. 이것은 InGroupByRows 옵션의 작동에 영향을 미치지 않습니다. InGroupByRows는 이 플래그의 값에 관계없이 여전히 동일한 방식으로 작동합니다.)
    1. 루트 행 컬렉션

예 5: 그룹화된 행

  1. Top
    1. 각 group-by 행의 시작 부분에 있는 행 컬렉션

예 6: 그룹화된 행

  1. TopFixed
    1. 시작 부분에 있는 루트 행 컬렉션(그룹화되지 않음). 요약 바닥글이 수정되어 보기에서 스크롤되지 않습니다.

예 7: 그룹화되지 않은 행

  1. None
    1. 요약은 어디에도 표시되지 않습니다.

*데이터의 행 컬렉션은 동일하게 처리됩니다. Grand Totals(그룹화되지 않은 행) 및 Sub-totals(그룹화된 행 집합).

루트 행 컬렉션에 대한 요약은 숨길 수 없으며, 그리드가 그룹화되거나 그룹화되지 않은 경우 'Default' 및 'None' 상태를 수동으로 전환할 수 있습니다.

  • 먼저 UltraWinGrid에서 'AfterSortChange' 이벤트를 처리합니다
  • 둘째, 현재 밴드의 열이 'SortedColumns' 컬렉션에 있는지 확인합니다.
  • 셋째, 'SortedColumns' 컬렉션에 있는 열이 'IsGroupByColumn'인지 확인합니다.

마지막으로 그리드의 'SummaryDisplayAreas' 열거형을 각 요약에 대해 'Default'로 설정합니다. *요약이 빠지면 바닥글이 계속 표시됩니다.

void ultraGrid1_AfterSortChange(object sender, BandEventArgs e)
{
           foreach (UltraGridColumn col in e.Band.SortedColumns)
           {
               if (col.IsGroupByColumn == true)
               {                   
                   ultraGrid1.DisplayLayout.Bands[0].Summaries[0].SummaryDisplayArea = Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.Default;
               } 
               else
               {
                   ultraGrid1.DisplayLayout.Bands[0].Summaries[0].SummaryDisplayArea = Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.None;                   
               }
           }
}
데모 요청