Gruppera rader och skapa delsumma

Gruppera rader

Så här grupperar du ett specifikt antal rader:

  1. Lägg till Aspose.Cells.GridWeb-kontrollen till ett webbformulär.
  2. Få tillgång till ett arbetsblad.
  3. Välj önskat antal celler i rader.
  4. Gruppera raderna.

När raderna är grupperade visas en expandera/komprimera-knapp överst på radernas sammanfattningsrad. Du kan ändra riktningsinställningen. Egenskapen WebWorksheet.IsSummaryRowBelow är en boolesk egenskap. Ställ in den på false (standard) och sammanfattningsraden kommer att vara ovanför detaljraderna. Ställ in den på sant så kommer sammanfattningsraden att vara under detaljraderna. Klicka på knappen expandera/komprimera för att expandera eller komprimera grupperade rader.

Följande exempel grupperar raderna från 2:a raden till 10:e raden.

Gruppera rader

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

Häckande grupperade rader

Du kan skapa organisationsnivåer samtidigt som du grupperar en uppsättning rader. Du kan gruppera rader bland de grupperade raderna. Följande exempel visar kapslade grupperade rader.

Gruppera rader

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

Intern process: Hur fungerar kontrollen?

Varje rad på arket har ett konturnummer. Standardvärdet för konturnumret är noll. Varje gång du grupperar raderna, ökas dispositionsnumret med 1. Du kan få dispositionsnumret genom att anropa metoden GridWorksheet.Cells.GetRowOutlineLevel().

Dela upp rader

Aspose.Cells.GridWeb låter dig dela upp grupperade rader.

Så här avgrupperar du ett visst antal rader:

  1. Välj ett antal celler i raderna i kalkylbladet för att avgruppera.
  2. Dela upp raderna.

Följande exempel delar upp raderna från 2:a raden till 10:e raden.

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

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

// Ungroup the rows

sheet.Cells.UngroupRows(1, 9); 

Skapar delsumma

Kontrollens delsummafunktion kan gruppera raderna i arket med en specificerad kolumn och beräkna sammanfattningen av kolumnerna. Aspose.Cells.GridWeb kan automatiskt beräkna delsumma för en lista. När du implementerar delsummor, skisserar kontrollen listan så att du kan visa och dölja detaljraderna för varje delsumma. Innan du lägger till delsummor, sortera på fältet du vill lägga till delsummor på. För att skapa delsummor, använd valfri version av den överbelastade metoden WebWorksheet.CreateSubtotal.

 public void CreateSubtotal

(

           int columnNameRowIndex,

           int dataRows,

           int groupByColumnIndex,

           SubtotalFunction subtotalFunction,

           int[]subtotalColumnIndexList

);

Parameterlista

Nej. Parameternamn Beskrivning
1 columnNameRowIndex Radindexet för kolumnnamnsraden.
2 datarader Antalet datarader.
3 groupByColumnIndex Kolumnindexet för den kolumn som ska grupperas.
4 subtotalFunktion Uppräkning av subtotalfunktionstyp.
5 subtotalColumnIndexList Kolumnindexen som ska subtotaleras.

Sammanfattningsfunktionslista

Det finns flera typer av sammanfattningsfunktioner som stöds av {[SubtotalFunction}}-uppräkningen:

Nej. Funktionsnamn Beskrivning
1 MEDEL Beräknar medelvärdet av värdena.
2 RÄKNA Räknar de numeriska värdena i cellerna.
3 COUNTA Räknar icke-numeriska data i cellerna.
4 MAX Beräknar det största värdet.
5 MIN Beräknar det minsta värdet.
6 PRODUKT Beräknar produkten av värdena.
7 BELOPP Beräknar summan av värdena.
Följande exempel genererar delsummorna som beräknar de icke-numeriska värdena grupperade efter den andra kolumnen i kalkylbladet.

Delsummor

todo:image_alt_text

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

Tar bort delsumma

För att ta bort en delsumma, använd metoden WebWorksheet.RemoveSubtotal. Följande exempel tar bort delsummorna.

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

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

//Remove the subtotals

sheet.RemoveSubtotal();

Om funktionen SUBTOTAL

GridWeb-kontrollen använder formelfunktionen SUBTOTAL för att beräkna delsumman.

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

function_num är ett tal som anger typen av funktion som används vid beräkning av delsumman.

1 MEDEL
2 RÄKNA
3 COUNTA
4 MAX
5 MIN
6 PRODUKT
7 BELOPP
ref1, ref2, är de områden som ska subtotalas. Om ref1, ref2, … innehåller andra subtotalfunktioner ignoreras de refererade cellerna för att undvika dubbletter av beräkningar.