Можно ли получить доступ к информации о родительском наборе данных (например, MyField.NewValue
) в событии BeforeUpdateRecord
поставщика при применении обновлений к вложенному набору данных?
Причина:
Когда я применяю обновления к CDS, который имеет вложенную информацию, мастер PK генерируется базовым запросом (TIBCQuery
) и распространяется на мастер CDS.
Но новый ключ не отображается в BeforeUpdateRecord
детали, поскольку поле обновляется в AfterUpdateRecord
:
DeltaDS.FieldByName(FieldName).NewValue := SourceDS.FieldByName(FieldName).NewValue)
и дельта еще не объединена.
Похоже, что параметр DeltaDS
события BeforeUpdateRecord
содержит только информацию для вложенного набора данных, когда происходит вызов для получения подробной информации.
Было бы неплохо, если бы я мог сделать что-то вроде:
DeltaDS.ParentDS.FieldByName('FIELDNAME').NewValue.
Edit:
При использовании вложенных наборов данных событие BeforeUpdateRecord
вызывается дважды, один раз для мастера и один раз для детализации (если у нас есть одна запись обоих). Когда для детализации вызывается событие, есть ли способ получить доступ к основной информации, содержащейся в DeltaDS
?
В данный момент мы не можем получить доступ к данным главной CDS, так как изменения еще не объединены. Я надеюсь, что это не добавляет больше путаницы.