Composant PivotTable — sgcHTML | eSeGeCe

PivotTable

TsgcHTMLComponent_PivotTable — affichez un tableau croisé dynamique Bootstrap qui regroupe les lignes et les colonnes et agrège les mesures avec des totaux de ligne, de colonne et généraux, en Delphi, C++ Builder et .NET.

TsgcHTMLComponent_PivotTable

Déclarez les champs de regroupement et les mesures, alimentez-le avec des lignes brutes (ou liez un jeu de données), puis lisez la propriété HTML.

Classe du composant

TsgcHTMLComponent_PivotTable

Produit

Un tableau Bootstrap 5 agrégé + totaux

Langages

Delphi, C++ Builder, .NET

Déclarez les champs, ajoutez des lignes, affichez-le

Ajoutez des RowFields / ColumnFields pour le regroupement, ajoutez une entrée Measures par valeur agrégée, listez les colonnes source dans DataFields, ajoutez des lignes avec AddRow, puis lisez 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

Propriétés & méthodes clés

Les membres que vous utilisez le plus souvent.

RowFields / ColumnFields

Chaque entrée a un FieldName et un Caption ; RowFields regroupe les lignes sur la gauche, ColumnFields regroupe les colonnes en haut.

Measures

Measures.Add renvoie un TsgcHTMLPivotMeasure avec SourceField, Caption, une Aggregation (SUM/COUNT/AVERAGE/MIN/MAX) et un Format de présentation optionnel.

DataFields / AddRow

DataFields liste les colonnes source brutes de façon positionnelle ; AddRow(aValues) ajoute une ligne respectant cet ordre.

Liaison de jeu de données

LoadFromDataSet(aDataSet) lit uniquement les champs référencés par RowFields, ColumnFields et Measures directement depuis un TDataSet.

Totaux

ShowRowTotals, ShowColumnTotals et ShowGrandTotal activent chacun une ligne/colonne de synthèse ; TotalText les libelle.

Style du tableau

Striped, Bordered, Hover et Compact stylisent le tableau Bootstrap ; EmptyCellText remplit les cellules vides ; HTML renvoie le tableau terminé.

Continuez l'exploration

Aide en ligneRéférence API complète et guide d’utilisation pour ce composant.
Tous les composants sgcHTMLParcourez la matrice complète des fonctionnalités de plus de 80 composants.
Télécharger la version d'essai gratuiteLa version d'essai de 30 jours fournit les projets de démonstration 60.HTML.
TarifsLicences Single, Team et Site avec code source complet.

Prêt à démarrer ?

Téléchargez la version d'essai gratuite et commencez à créer des interfaces web en Delphi, C++ Builder et .NET.