Komponent PivotTable — sgcHTML | eSeGeCe

PivotTable

TsgcHTMLComponent_PivotTable — renderuje tabelę przestawną Bootstrap, która grupuje wiersze i kolumny oraz agreguje miary z sumami wierszy, kolumn i sumą całkowitą, w Delphi, C++ Builder i .NET.

TsgcHTMLComponent_PivotTable

Zdefiniuj pola grupujące i miary, dostarcz surowe wiersze (lub powiąż zestaw danych), a następnie odczytaj właściwość HTML.

Klasa komponentu

TsgcHTMLComponent_PivotTable

Renderuje

Zagregowana tabela Bootstrap 5 + sumy

Rodzina

Dane i tabele

Języki

Delphi, C++ Builder, .NET

Zdefiniuj pola, dodaj wiersze, wyrenderuj

Dodaj RowFields / ColumnFields, według których chcesz grupować, dodaj wpis Measures dla każdej agregowanej wartości, wypisz kolumny źródłowe w DataFields, dodawaj wiersze za pomocą AddRow, a następnie odczytaj 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

Kluczowe właściwości i metody

Składniki, po które sięgasz najczęściej.

RowFields / ColumnFields

Każdy wpis ma FieldName i Caption; RowFields grupuje wiersze po lewej stronie, a ColumnFields grupuje kolumny u góry.

Miary

Measures.Add zwraca TsgcHTMLPivotMeasure z SourceField, Caption, Aggregation (SUM/COUNT/AVERAGE/MIN/MAX) oraz opcjonalnym wzorcem Format.

DataFields / AddRow

DataFields wymienia surowe kolumny źródłowe w kolejności pozycyjnej; AddRow(aValues) dodaje jeden wiersz zgodny z tą kolejnością.

Wiązanie z zestawem danych

LoadFromDataSet(aDataSet) odczytuje bezpośrednio z TDataSet tylko pola, do których odwołują się RowFields, ColumnFields i Measures.

Sumy

ShowRowTotals, ShowColumnTotals i ShowGrandTotal przełączają odpowiednio wiersz lub kolumnę podsumowania; TotalText je opisuje.

Stylizacja tabeli

Striped, Bordered, Hover i Compact stylizują tabelę Bootstrap; EmptyCellText wypełnia puste komórki; HTML zwraca gotową tabelę.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania tego komponentu.
Wszystkie komponenty sgcHTMLPrzejrzyj pełną matrycę funkcji 80+ komponentów.
Pobierz bezpłatną wersję próbną30-dniowa wersja próbna zawiera projekty demonstracyjne 60.HTML.
CennikLicencje Single, Team i Site z pełnym kodem źródłowym.

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i zacznij budować interfejsy webowe w Delphi, C++ Builder i .NET.