【发布时间】:2016-08-08 00:45:38
【问题描述】:
在 TDatasetProvider.OnBeforeUpdateRecord 上,我该怎么做 访问源或原始客户端数据集 发送 DeltaDS 参数?
procedure TdmLoanPayment.dpLoanPaymentBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet; UpdateKind: TUpdateKind;
var Applied: Boolean);
var
sourceCDS: TClientDataset;
begin
sourceCDS := DeltaDS.???;
...
end;
我需要从相应的客户端数据集中访问一些属性。设置是 TSQLDataset/TDatasetProvider/TClientDataset。
编辑: 所有这些麻烦的原因是,我想从 TDatasetProvider 派生一个组件并分配一个默认的 OnBeforeUpdateRecord。
【问题讨论】:
-
您似乎有些困惑。
SourceDS是源(原始)数据集,DeltaDS包含在SourceDS中发生的更改。 -
谢谢肯,但我并不感到困惑。我知道 SourceDS 是什么。我想知道的是哪个 Clientdataset 生成了有问题的 DeltaDS。
-
当然,在设计时,这不是问题,因为我可以分辨出连接了哪个 CDS。但我正在尝试抽象这个过程。
-
什么是“默认 OnBeforeUpdateRecord”?是不是提供者的 OnBeforeUpdateRecord 事件?
-
@ValMarinov,我想从 TDatasetProvider 派生/继承一个组件。在这个后代组件上,我将分配一个始终被评估的 OnBeforeUpdateRecord。在此 OnBeforeUpdateRecord 中,我想知道生成/作为传递给此事件的增量的父级的 Clientdataset。
标签: delphi tclientdataset