Agrupar filas y crear subtotales

Agrupación de filas

Para agrupar un número específico de filas:

  1. Agregue el control Aspose.Cells.GridWeb a un Formulario Web.
  2. Acceder a una hoja de cálculo.
  3. Seleccione el número deseado de celdas en filas.
  4. Agrupe las filas.

Cuando las filas están agrupadas, se muestra un botón de expandir/contraer en la parte superior de la Línea de Resumen de las filas. Puede cambiar la configuración de dirección. La propiedad WebWorksheet.IsSummaryRowBelow es una propiedad booleana. Establézcala en false (predeterminado) y la fila de resumen estará arriba de las filas de detalle. Establézcala en true y la fila de resumen estará debajo de las filas de detalle. Haga clic en el botón de expandir/contraer para expandir o contraer las filas agrupadas.

El siguiente ejemplo agrupa las filas desde la 2da fila hasta la 10ma fila.

Agrupar filas

todo:image_alt_text

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Group the rows

sheet.Cells.GroupRows(1, 9);

Agrupación de Filas Anidadas

Puede crear niveles de organización al agrupar un conjunto de filas. Puede agrupar filas entre las filas agrupadas. El siguiente ejemplo muestra la anidación de filas agrupadas.

Agrupar filas

todo:image_alt_text

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Group the rows

sheet.Cells.GroupRows(1, 9);

// Create nested group of rows

sheet.Cells.GroupRows(4, 6);

Proceso interno: ¿Cómo funciona el control?

Cada fila de la hoja tiene un número de esquema. El valor predeterminado del número de esquema es cero. Cada vez que agrupa las filas, el número de esquema aumenta en 1. Puede obtener el número de esquema llamando al método GridWorksheet.Cells.GetRowOutlineLevel().

Desagrupar Filas

Aspose.Cells.GridWeb le permite desagrupar filas agrupadas.

Para desagrupar un número específico de filas:

  1. Seleccione un número de celdas en las filas de la hoja de cálculo para desagrupar.
  2. Desagrupe las filas.

El siguiente ejemplo desagrupa las filas desde la segunda fila hasta la décima fila.

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Ungroup the rows

sheet.Cells.UngroupRows(1, 9); 

Creación de Subtotal

La función de subtotal del control puede agrupar las filas en la hoja con una columna especificada y calcular el resumen de las columnas. Aspose.Cells.GridWeb puede calcular automáticamente los valores de subtotales para una lista. Al implementar subtotales, el control esquematiza la lista para que pueda mostrar y ocultar las filas de detalles para cada subtotal. Antes de agregar subtotales, ordene en el campo que desea subtotal. Para crear subtotales, use cualquier versión del método sobrecargado WebWorksheet.CreateSubtotal.

 public void CreateSubtotal

(

           int columnNameRowIndex,

           int dataRows,

           int groupByColumnIndex,

           SubtotalFunction subtotalFunction,

           int[] subtotalColumnIndexList

);

Lista de Parámetros

Núm. Nombre del Parámetro Descripción
1 columnNameRowIndex El índice de fila de la fila de nombre de columna.
2 dataRows El número de filas de datos.
3 groupByColumnIndex El índice de columna de la columna a agrupar.
4 subtotalFunction El tipo de enumeración de función de subtotal.
5 subtotalColumnIndexList Los índices de columna a subtotalizar.

Lista de Funciones de Resumen

Hay varios tipos de funciones de resumen admitidas por la enumeración {[SubtotalFunction}}:

Núm. Nombre de la Función Descripción
1 AVERAGE Calcula el promedio de los valores.
2 COUNT Cuenta los valores numéricos en las celdas.
3 COUNTA Cuenta los datos no numéricos en las celdas.
4 MAX Calcula el valor más grande.
5 MIN Calcula el valor más pequeño.
6 PRODUCT Calcula el producto de los valores.
7 SUM Calcule la suma de los valores.
El siguiente ejemplo genera los subtotales que calculan los valores no numéricos agrupados por la segunda columna en la hoja de trabajo.

Subtotales

todo:image_alt_text

 sheet.CreateSubtotal(0, sheet.Cells.MaxRow, 1, SubtotalFunction.COUNTA, new int[] { 1, 2, 3, 4, 5 });

Eliminación de Subtotal

Para eliminar un subtotal, utilice el método WebWorksheet.RemoveSubtotal. El siguiente ejemplo elimina los subtotales.

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

//Remove the subtotals

sheet.RemoveSubtotal();

Acerca de la función SUBTOTAL

El control GridWeb hace uso de la función de fórmula SUBTOTAL para calcular el valor del subtotal.

Sintaxis: SUBTOTAL(núm_función, ref1, ref2, …)

núm_función es un número que especifica el tipo de función utilizada en el cálculo del subtotal.

1 MEDIA
2 COUNT
3 COUNTA
4 MAX
5 MIN
6 PRODUCT
7 SUM
ref1, ref2, son las áreas que se deben subtotalizar. Si ref1, ref2, … contienen otras funciones de subtotal, las celdas referenciadas se ignoran para evitar el cálculo duplicado.