FireDAC.Comp.DataSet.TFDDataSet.Aggregates

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property Aggregates: TFDAggregates read FAggregates write SetAggregates stored IsAS;

C++

__property TFDAggregates* Aggregates = {read=FAggregates, write=SetAggregates, stored=IsAS};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
property public
FireDAC.Comp.DataSet.pas
FireDAC.Comp.DataSet.hpp
FireDAC.Comp.DataSet TFDDataSet


Beschreibung

Die Kollektion der clientseitigen Aggregate, die für die Datenmenge definiert sind.

Mit Aggregates definieren Sie die clientseitigen Aggregatformeln, die automatisch für eine Gruppe von Datensätzen oder für alle Datensätze in der Datenmenge verwaltet und berechnet werden.

Alle Datensätze in der Datensatzgruppe haben dieselben Feldwerte für die definierte Feldmenge. Die Eigenschaft Aggregates wird für Datensatzgruppen berechnet, die einem der Indizes zugeordnet sind. Diese Aggregatausdrücke werden nur berechnet, wenn es sich bei dem zugeordneten Index um den aktuellen Index handelt und dieser aktiv ist.

Durch Hinzufügen eines Aggregatfeldes wird der Kollektion Aggregates kein TFDAggregate-Objekt hinzugefügt. Es gibt zwei Alternativen: Verwenden von Aggregatfeldern oder von Aggregates.

DataSet verwaltet und berechnet die Aggregates-Werte automatisch, wenn die Datenmenge die Daten abruft oder die Anwendung die Daten bearbeitet, wenn AggregatesActive True ist. Wenn in der Anwendung große Aktualisierungen der Datenmenge vorgenommen werden müssen und Aggregatwerte während der Aktualisierung nicht benötigt werden, dann setzen Sie vor der Aktualisierung AggregatesActive auf False und geben nach der Aktualisierung wieder den Originalwert an. Siehe auch die Methoden BeginBatch und EndBatch.

Bei verwalteten Aggregaten gibt die Methode Value jedes aktiven Aggregatobjekts einen Wert zurück, der den aktuellen Daten in der Datenmenge entspricht. Bearbeitet der Benutzer die Daten in der Datenmenge, werden diese Werte neu berechnet, um die Änderungen des Benutzers zu berücksichtigen.

Die Ausdrücke in Aggregates müssen Aggregatfunktionen, wie SUM, COUNT, enthalten. FireDAC unterstützt die erweiterte Ausdruckssyntax.

Beispiel

with FDMemTable1.Aggregates.Add do begin
  Expression := 'sum(sal + bonus)';
  Active := True;
end;
with FDMemTable1.Aggregates.Add do begin
  Expression := 'sum(sal + bonus)';
  IndexName := 'by_deps';
  Active := True;
end;
FDMemTable1.IndexName := 'by_deps';
FDMemTable1.AggregatesActive := True;

Label1.Caption := 'Total payments : ' + VarToStr(FDMemTable1.Aggregates[0].Value);
Label2.Caption := 'Current department payments : ' + VarToStr(FDMemTable1.Aggregates[1].Value);

Siehe auch

Beispiele