PivotTable
TsgcHTMLComponent_PivotTable — Delphi, C++ Builder 및 .NET에서 행과 열을 그룹화하고 측정값을 집계하여 행, 열 및 총합계를 표시하는 Bootstrap 피벗 테이블을 렌더링합니다.
TsgcHTMLComponent_PivotTable — Delphi, C++ Builder 및 .NET에서 행과 열을 그룹화하고 측정값을 집계하여 행, 열 및 총합계를 표시하는 Bootstrap 피벗 테이블을 렌더링합니다.
그룹화 필드와 측정값을 선언하고, 원시 행을 공급한(또는 데이터셋을 바인딩한) 다음, HTML 속성을 읽습니다.
TsgcHTMLComponent_PivotTable
Bootstrap 5 집계 테이블 + 총합계
Delphi, C++ Builder, .NET
그룹화 기준이 될 RowFields / ColumnFields를 추가하고, 집계값마다 Measures 항목을 추가하고, DataFields에 원본 열을 나열하고, AddRow로 행을 추가한 다음, 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
가장 자주 사용하게 되는 멤버.
각 항목은 FieldName과 Caption을 가지며, RowFields는 왼쪽으로 행을 그룹화하고 ColumnFields는 위쪽으로 열을 그룹화합니다.
Measures.Add는 SourceField, Caption, Aggregation(SUM/COUNT/AVERAGE/MIN/MAX) 및 선택적 Format 형식을 가진 TsgcHTMLPivotMeasure를 반환합니다.
DataFields는 원본 소스 열을 위치 순서대로 나열하며, AddRow(aValues)는 그 순서에 맞는 행을 하나 추가합니다.
LoadFromDataSet(aDataSet)는 TDataSet에서 RowFields, ColumnFields 및 Measures가 참조하는 필드만 직접 읽습니다.
ShowRowTotals, ShowColumnTotals 및 ShowGrandTotal은 각각 요약 행/열을 켜고 끄며, TotalText가 그 레이블을 지정합니다.
Striped, Bordered, Hover 및 Compact가 Bootstrap 테이블 스타일을 지정합니다. EmptyCellText는 빈 칸을 채우며, HTML은 완성된 테이블을 반환합니다.