Ir para o conteúdo
As áreas de exibição do resumo do UltraWinGrid: quando usá-lo?

As áreas de exibição do resumo do UltraWinGrid: quando usá-lo?

O UltraWinGrid fornece inúmeros recursos inestimáveis centrados em dados e pode ser transformado em vários tipos de visualizações, layouts e estilos conforme o usuário final achar adequado.

3min read

Ao resumir colunas, você tem a capacidade de exibir os resultados em alguns lugares. Este artigo listará e ilustrará as diferentes áreas de exibição para quando a grade é agrupada e não agrupada; para lhe dar uma compreensão de onde os resumos serão posicionados.

A propriedade SummaryDisplayAreas pode ser facilmente definida como uma enumeração sinalizada para especificar onde você precisa posicionar os resumos, em vários locais simultaneamente. Existem apenas quatro locais possíveis para colocação:

1. No rodapé da coleção de linhas raiz de uma grade desagrupada
2. No final de cada coleta de linha de dados de uma linha agrupar por
3. No rodapé da coleção agrupar por linhas
4. Dentro de cada linha agrupar por (à direita do nome da coluna classificada)

Os rodapés de resumo são exibidos nos seguintes locais:

  1. Default.
    1. As coleções de linhas no final de cada linha agrupar por
    2. A linha agrupar por
    3. A coleção de linhas raiz (desagrupada)

Exemplo 1: Linhas agrupadas

  1. Bottom
    1. A coleção de linhas no final de cada linha agrupar por
    2. A coleção de linhas raiz (desagrupada)

Exemplo 2: Linhas agrupadas

Exemplo 2.1: Linhas desagrupadas
  
  1. BottomFixed
    1. As coleções de linhas no final de cada linha agrupar por
    2. A coleção de linhas raiz (desagrupada). O rodapé do resumo é fixo para que não seja rolado para fora da exibição.

Example 3: Ungrouped

  1. GroupByRowsFooter (Este sinalizador deve ser combinado com Top, TopFixed, Bottom ou BottomFixed para que tenha algum efeito)
    1. As coleções de linhas no final de cada linha agrupar por
    2. O rodapé de resumo da coleção de linhas agrupar por
    3. A coleção de linhas raiz (desagrupada)

Exemplo 4: Linhas agrupadas

  1. HideDataRowFooters
    1. As coleções de linhas no final de cada linha agrupar por
    2. A coleção de linhas raiz
  2. InGroupByRows
    1. A linha agrupar por
  3. RootRowsFootersOnly (Esse sinalizador deve ser combinado com Top, TopFixed, Bottom ou BottomFixed para que tenha algum efeito. Quando as linhas não são agrupadas, esse sinalizador não tem efeito. Observe que isso não tem nenhum efeito sobre o funcionamento da opção InGroupByRows. InGroupByRows ainda funcionará da mesma maneira, independentemente do valor desse sinalizador.)
    1. A coleção de linhas raiz

Exemplo 5: Linhas agrupadas

  1. Top
    1. A coleção de linhas no início de cada linha agrupar por

Exemplo 6: Linhas agrupadas

  1. TopFixed
    1. A coleção de linhas raiz (desagrupada) no início. O rodapé do resumo é fixo para que não seja rolado para fora da exibição.

Exemplo 7: Linhas desagrupadas

  1. None
    1. Os resumos não são exibidos em nenhum lugar

*As coleções de linhas dos dados são tratadas igualmente. Totais gerais (linhas desagrupadas) e Subtotais (conjunto de linhas agrupadas).

Você não pode ocultar resumos para uma coleção de linhas raiz, apenas você pode alternar manualmente os estados 'Padrão' e 'Nenhum' quando a grade está agrupada ou desagrupada.

  • Primeiro, manipule o evento 'AfterSortChange' no UltraWinGrid
  • Em segundo lugar, verifique se alguma coluna na banda atual está na coleção 'SortedColumns'
  • Em terceiro lugar, verifique se todas as colunas encontradas na coleção 'SortedColumns' são 'IsGroupByColumn'.

Por fim, defina a enumeração 'SummaryDisplayAreas' da grade como 'Padrão para cada resumo. *Observe qualquer resumo deixado de fora e o rodapé ainda será exibido.

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;                   
               }
           }
}
Solicite uma demonstração