PivotTable-component — sgcHTML | eSeGeCe

PivotTable

TsgcHTMLComponent_PivotTable — render een Bootstrap-draaitabel die rijen en kolommen groepeert en metingen aggregeert met rij-, kolom- en eindtotalen, in Delphi, C++ Builder en .NET.

TsgcHTMLComponent_PivotTable

Declareer de groeperingsvelden en metingen, voed het rauwe rijen (of koppel een dataset), en lees dan de HTML-eigenschap.

Componentklasse

TsgcHTMLComponent_PivotTable

Rendert

Bootstrap 5-geaggregeerde tabel + totalen

Talen

Delphi, C++ Builder, .NET

Declareer velden, voeg rijen toe, render het

Voeg RowFields / ColumnFields toe om op te groeperen, voeg een Measures-item toe per geaggregeerde waarde, vermeld de bronkolommen in DataFields, voeg rijen toe met AddRow, en lees dan HTML.

uses
  sgcHTML_Component_PivotTable;

var
  oPivot: TsgcHTMLComponent_PivotTable;
  oMeasure: TsgcHTMLPivotMeasure;
begin
  oPivot := TsgcHTMLComponent_PivotTable.Create(nil);
  try
    oPivot.Caption := 'Revenue by Region and Quarter';

    oPivot.RowFields.Add.FieldName := 'Region';
    oPivot.ColumnFields.Add.FieldName := 'Quarter';

    oMeasure := oPivot.Measures.Add;
    oMeasure.SourceField := 'Amount';
    oMeasure.Caption := 'Revenue';
    oMeasure.Aggregation := paSum;
    oMeasure.Format := '#,##0.00';

    oPivot.DataFields.Add('Region');
    oPivot.DataFields.Add('Quarter');
    oPivot.DataFields.Add('Amount');

    oPivot.AddRow(['EMEA', 'Q1', '12000']);
    oPivot.AddRow(['EMEA', 'Q2', '15500']);
    oPivot.AddRow(['APAC', 'Q1', '9800']);

    WebModule.Response := oPivot.HTML;   // aggregated table + row/column/grand totals
  finally
    oPivot.Free;
  end;
end;

// Or bind it straight to a dataset (reads only RowFields/ColumnFields/Measures fields):
oPivot.LoadFromDataSet(qrySales);
// includes: sgcHTML_Component_PivotTable.hpp

TsgcHTMLComponent_PivotTable *oPivot = new TsgcHTMLComponent_PivotTable(NULL);
try
{
  oPivot->Caption = "Revenue by Region and Quarter";

  oPivot->RowFields->Add()->FieldName = "Region";
  oPivot->ColumnFields->Add()->FieldName = "Quarter";

  TsgcHTMLPivotMeasure *oMeasure = oPivot->Measures->Add();
  oMeasure->SourceField = "Amount";
  oMeasure->Caption = "Revenue";
  oMeasure->Aggregation = paSum;
  oMeasure->Format = "#,##0.00";

  oPivot->DataFields->Add("Region");
  oPivot->DataFields->Add("Quarter");
  oPivot->DataFields->Add("Amount");

  oPivot->AddRow(OPENARRAY(UnicodeString, ("EMEA", "Q1", "12000")));
  oPivot->AddRow(OPENARRAY(UnicodeString, ("APAC", "Q1", "9800")));

  String html = oPivot->HTML;   // aggregated table + row/column/grand totals
}
__finally
{
  delete oPivot;
}
using esegece.sgcWebSockets;

var pivot = new TsgcHTMLComponent_PivotTable();
pivot.Caption = "Revenue by Region and Quarter";

pivot.RowFields.Add().FieldName = "Region";
pivot.ColumnFields.Add().FieldName = "Quarter";

var measure = pivot.Measures.Add();
measure.SourceField = "Amount";
measure.Caption = "Revenue";
measure.Aggregation = TsgcHTMLPivotAggregation.paSum;
measure.Format = "#,##0.00";

pivot.DataFields.Add("Region");
pivot.DataFields.Add("Quarter");
pivot.DataFields.Add("Amount");

pivot.AddRow(new[] { "EMEA", "Q1", "12000" });
pivot.AddRow(new[] { "APAC", "Q1", "9800" });

string html = pivot.HTML;   // aggregated table + row/column/grand totals

Belangrijkste eigenschappen en methoden

De members die je het vaakst gebruikt.

RowFields / ColumnFields

Elk item heeft een FieldName en Caption; RowFields groepeert rijen aan de linkerkant, ColumnFields groepeert kolommen bovenaan.

Measures

Measures.Add retourneert een TsgcHTMLPivotMeasure met SourceField, Caption, een Aggregation (SUM/COUNT/AVERAGE/MIN/MAX) en een optioneel Format-patroon.

DataFields / AddRow

DataFields vermeldt de rauwe bronkolommen op volgorde; AddRow(aValues) voegt één rij toe die die volgorde volgt.

Datasetbinding

LoadFromDataSet(aDataSet) leest alleen de velden waarnaar RowFields, ColumnFields en Measures verwijzen, rechtstreeks uit een TDataSet.

Totalen

ShowRowTotals, ShowColumnTotals en ShowGrandTotal schakelen elk een samenvattingsrij/-kolom in; TotalText labelt ze.

Tabelstyling

Striped, Bordered, Hover en Compact stylen de Bootstrap-tabel; EmptyCellText vult lege cellen; HTML retourneert de voltooide tabel.

Blijf ontdekken

Online helpVolledige API-referentie en gebruikshandleiding voor dit onderdeel.
Alle sgcHTML-componentenBlader door de volledige functiematrix van 80+ componenten.
Download gratis proefversieDe proefversie van 30 dagen bevat de 60.HTML-demoprojecten.
PrijzenSingle-, Team- en Site-licenties met volledige broncode.

Klaar om te beginnen?

Download de gratis proefversie en begin met het bouwen van draaitabellen met rij-, kolom- en eindtotalen in Delphi, C++ Builder en .NET.