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은 완성된 테이블을 반환합니다.
TsgcHTMLAIAssistant를 AIAssistant에 지정하고 AIQueryEnabled를 설정하면, 문장이 피벗의 행, 열, 측정값, 집계가 되며 사용자의 열을 기준으로 검증됩니다. ClearAIQuery는 사용자 자신의 피벗을 원래 상태 그대로 되돌리며, AIPersistState는 쿼리를 세션에 유지합니다.