TClientDataSet Aggregate спецификация не добавляется автоматически при создании поля Aggregate - PullRequest
1 голос
/ 22 августа 2008

Мне нужно создать поле агрегирования в TClientDataSet, но, как сказано в документах:

Выберите ОК. Недавно определенный агрегат поле автоматически добавляется к клиентский набор данных и его агрегаты свойство автоматически обновляется до включить соответствующий агрегат спецификация.

Когда я добавляю новое поле агрегирования, спецификация агрегата не добавляется в агрегаты TClientDataSet, поэтому я не могу использовать его OnUpdateMethod.

Я также пытался обработать событие OnChange моего нового Агрегированного поля, но оно вообще не запускается.

Я что-то не так делаю? Я просто хочу иметь агрегированное поле и запускать событие, когда оно меняет значение.

Это сломано на дельфи? Потому что то, что в документации, не отражает фактическое поведение.

редактирование: @Michal Sznajder Я использую Delphi 2007

Ответы [ 2 ]

4 голосов
/ 26 августа 2008

Я думаю, вы можете запутаться между объектами TAggregate и TAggregateField, и документация Delphi, вероятно, не помогает.

AFAICT, TAggregateField объекты автоматически «пересчитываются» и могут быть привязаны к элементам управления с учетом данных, таким как TDBText, но не имеют события OnUpdate.

С другой стороны, объекты "TAggregate" имеют событие OnUpdate, но не могут быть привязаны к элементам управления с поддержкой данных.

Это может быть поучительно: http://dn.codegear.com/article/29272

1 голос
/ 24 августа 2008

Какая версия Delphi? Я только что попробовал чистое приложение D7 и TAggregateField был добавлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...