TClientDataSet-Aggregate-Spezifikationen werden beim Erstellen eines Aggregate-Felds nicht automatisch hinzugefügt

StackOverflow https://stackoverflow.com/questions/22212

  •  09-06-2019
  •  | 
  •  

Frage

Ich muss ein Aggregatfeld in einem TClientDataSet erstellen, aber wie in den Dokumenten gesagt:

Wählen Sie OK.Das neu definierte aggregierte Feld wird automatisch zum Client -Datensatz hinzugefügt und seine Aggregate -Eigenschaft wird automatisch so aktualisiert, dass sie die entsprechende Aggregatspezifikation enthalten.

Wenn ich ein neues Aggregatfeld hinzufüge, wird die Aggregatspezifikation nicht zu den Aggregaten des TClientDataSet hinzugefügt, daher kann ich dessen OnUpdateMethod nicht verwenden.

Ich habe auch versucht, das OnChange-Ereignis meines neuen Aggregatfelds zu verarbeiten, aber es wird überhaupt nicht ausgelöst.

Mache ich etwas falsch?Ich möchte nur ein aggregiertes Feld haben und bei jeder Wertänderung ein Ereignis auslösen.

Ist das bei Delphi kaputt?Denn was in der Dokumentation steht, spiegelt nicht das tatsächliche Verhalten wider.

bearbeiten:@Michal Sznajder Ich benutze Delphi 2007

War es hilfreich?

Lösung

Ich denke, dass Sie möglicherweise zwischen TAggregate- und TAggregateField-Objekten verwechselt werden, und die Delphi-Dokumentation hilft wahrscheinlich nicht weiter.

AFAICT- und TAggregateField-Objekte werden automatisch „neu berechnet“ und können an datensensitive Steuerelemente wie TDBText gebunden werden, verfügen jedoch über kein OnUpdate-Ereignis.

„TAggregate“-Objekte hingegen verfügen zwar über ein OnUpdate-Ereignis, können aber nicht an datensensitive Steuerelemente gebunden werden.

Das könnte aufschlussreich sein: http://dn.codegear.com/article/29272

Andere Tipps

Welche Version von Delphi?Ich habe gerade eine saubere D7-Anwendung ausprobiert und TAggregateField wurde hinzugefügt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top