1

TClientDataSet に集計フィールドを作成する必要がありますが、ドキュメントで述べられているように:

[OK] を選択します。新しく定義された集計フィールドがクライアント データセットに自動的に追加され、その Aggregates プロパティが自動的に更新され、適切な集計仕様が含まれます。

新しい集計フィールドを追加すると、集計仕様が TClientDataSet の Aggregates に追加されないため、その OnUpdateMethod を使用できません。

また、新しい集計フィールドの OnChange イベントを処理しようとしましたが、まったく発生しません。

私は何か間違ったことをしていますか?集約されたフィールドを持ち、値が変化するすべてのイベントを発生させたいだけです。

これはデルファイで壊れていますか?ドキュメントに記載されている内容は、実際の動作を反映していないためです。

編集: @Michal Sznajder 私は Delphi 2007 を使用しています

4

2 に答える 2

4

TAggregate オブジェクトと TAggregateField オブジェクトの間で混乱している可能性があると思いますが、Delphi のドキュメントはおそらく役に立ちません。

AFAICT、TAggregateField オブジェクトは自動的に「再計算」され、TDBText などのデータベース対応コントロールにバインドできますが、OnUpdate イベントはありません。

一方、「TAggregate」オブジェクトには OnUpdate イベントがありますが、データベース対応コントロールにバインドすることはできません。

これは啓発的かもしれません: http://dn.codegear.com/article/29272

于 2008-08-26T11:52:35.960 に答える
1

Delphiのどのバージョンですか?クリーンなD7アプリケーションを試したところ、TAggregateFieldが追加されました。

于 2008-08-24T07:54:56.920 に答える