Gruppieren von Zeilen und Erstellen von Teilergebnissen

Zeilen gruppieren

Um eine bestimmte Anzahl von Zeilen zu gruppieren:

  1. Fügen Sie der Webformularsteuerung Aspose.Cells.GridWeb hinzu.
  2. Greifen Sie auf ein Arbeitsblatt zu.
  3. Wählen Sie die gewünschte Anzahl von Zellen in den Zeilen aus.
  4. Gruppieren Sie die Zeilen.

Wenn die Zeilen gruppiert sind, wird oben an der Zusammenfassungszeile der Zeilen ein Ein-/Ausblenden-Button angezeigt. Sie können die Richtungseinstellung ändern. Die Eigenschaft WebWorksheet.IsSummaryRowBelow ist eine boolesche Eigenschaft. Setzen Sie sie auf false (Standard) und die Zusammenfassungszeile wird über den Detailzeilen angezeigt. Setzen Sie sie auf true und die Zusammenfassungszeile wird unter den Detailzeilen angezeigt. Klicken Sie auf den Einblenden/Ausblenden-Button, um gruppierte Zeilen einzublenden oder auszublenden.

Das folgende Beispiel gruppiert die Zeilen von der 2. Zeile bis zur 10. Zeile.

Zeilen gruppieren

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

Verschachtelte gruppierte Zeilen

Sie können Ebenen der Organisation erstellen, während Sie eine Reihe von Zeilen gruppieren. Sie können Zeilen unter den gruppierten Zeilen gruppieren. Das folgende Beispiel zeigt verschachtelte gruppierte Zeilen.

Zeilen gruppieren

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

Interner Prozess: Wie funktioniert die Steuerung?

Jede Zeile des Blattes hat eine Gliederungsnummer. Der Standardwert der Gliederungsnummer ist null. Jedes Mal, wenn Sie die Zeilen gruppieren, wird die Gliederungsnummer um 1 erhöht. Sie können die Gliederungsnummer erhalten, indem Sie die Methode GridWorksheet.Cells.GetRowOutlineLevel() aufrufen.

Zeilen gruppieren

Aspose.Cells.GridWeb ermöglicht es Ihnen, gruppierte Zeilen zu entgruppieren.

Um eine bestimmte Anzahl von Zeilen zu entgruppieren:

  1. Wählen Sie eine Anzahl von Zellen in den Zeilen im Arbeitsblatt, die Sie entgruppieren möchten.
  2. Entgruppieren Sie die Zeilen.

Im folgenden Beispiel werden die Zeilen von der 2. Zeile bis zur 10. Zeile entgruppiert.

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

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

// Ungroup the rows

sheet.Cells.UngroupRows(1, 9); 

Summe erstellen

Die Summenfunktion des Steuerungselements kann die Zeilen im Blatt mit einer bestimmten Spalte gruppieren und die Zusammenfassung der Spalten berechnen. Aspose.Cells.GridWeb kann automatisch Summenwerte für eine Liste berechnen. Wenn Sie Zwischensummen implementieren, gliedert das Steuerungselement die Liste, sodass Sie die Detailzeilen für jede Zwischensumme anzeigen und ausblenden können. Bevor Sie Zwischensummen hinzufügen, sortieren Sie nach dem Feld, für das Sie Zwischensummen wünschen. Verwenden Sie zur Erstellung von Zwischensummen eine beliebige Version der überladenen Methode WebWorksheet.CreateSubtotal.

 public void CreateSubtotal

(

           int columnNameRowIndex,

           int dataRows,

           int groupByColumnIndex,

           SubtotalFunction subtotalFunction,

           int[] subtotalColumnIndexList

);

Parameterliste

Nr. Parametername Beschreibung
1 columnNameRowIndex Der Zeilenindex der Spaltennamenzeile.
2 dataRows Die Anzahl der Datensätze.
3 groupByColumnIndex Der Spaltenindex der zu gruppierenden Spalte.
4 subtotalFunction Die Aufzählung der Funktionstypen für die Zwischensumme.
5 subtotalColumnIndexList Die Spaltenindizes, für die Zwischensummen gebildet werden sollen.

Zusammenfassungsfunktionenliste

Es gibt mehrere Arten von Zusammenfassungsfunktionen, die von der {[SubtotalFunction}}-Aufzählung unterstützt werden:

Nr. Funktionsname Beschreibung
1 AVERAGE Berechnet den Durchschnitt der Werte.
2 COUNT Zählt die numerischen Werte in den Zellen.
3 COUNTA Zählt die nicht-numerischen Daten in den Zellen.
4 MAX Berechnet den größten Wert.
5 MIN Berechnet den kleinsten Wert.
6 PRODUCT Berechnet das Produkt der Werte.
7 SUM Berechnet die Summe der Werte.
Das folgende Beispiel generiert die Zwischensummen, die die nicht-numerischen Werte gruppiert nach der zweiten Spalte im Arbeitsblatt berechnen.

Zwischensummen

todo:image_alt_text

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

Zwischensumme entfernen

Um eine Zwischensumme zu entfernen, verwenden Sie die Methode WebWorksheet.RemoveSubtotal. Das folgende Beispiel entfernt die Zwischensummen.

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

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

//Remove the subtotals

sheet.RemoveSubtotal();

Über die SUBTOTAL-Funktion

Der GridWeb-Steuerung verwendet die Formelfunktion SUBTOTAL, um den Zwischensummenwert zu berechnen.

Syntax: SUBTOTAL(function_num, ref1, ref2, …)

function_num ist eine Zahl, die den Typ der Funktion angibt, die bei der Zwischensummenberechnung verwendet wird.

1 DURCHSCHNITT
2 COUNT
3 COUNTA
4 MAX
5 MIN
6 PRODUCT
7 SUM
Ref1, Ref2 usw. sind die Bereiche, die summiert werden sollen. Wenn Ref1, Ref2, … andere Zwischensummenfunktionen enthalten, werden die referenzierten Zellen ignoriert, um doppelte Berechnungen zu vermeiden.