請問如何取得Delta裡TDataSetField的值? |
缺席
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
請問如何取得Delta裡TDataSetField的值? cds1,cds2: TClientDataSet; cds1,cds2為Master/Detail關係並用NestedDataSet實作. procedure TForm1.pv1BeforeUpdateRecord(Sender: TObject; SourceDS: TDataSet; DeltaDS: TCustomClientDataSet; UpdateKind: TUpdateKind; var Applied: Boolean); var i: Integer; begin cds1.Data := DeltaDs.Data; for i:= 0 to DeltaDs.FieldCount - 1 do if (DeltaDs.Fields[i] is TDataSetField) then cds2.DataSetField := TDataSetField(DeltaDs.Fields[i]); Applied := True; end; 我用各兩個TDatasource,TDBGrid去聯cds1,cds2,想觀察其值並且以後將 異動值另外儲存在其他Table,但cds1正常,cds2卻出現 'Nested dataset moust inherit from TPacketDataset' 請問如何處理?Delphi follower 發表人 - ying0515 於 2004/04/26 16:20:42
------
Delphi |
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
謝謝我試出來了! procedure TForm1.pv1BeforeUpdateRecord(Sender: TObject; SourceDS: TDataSet; DeltaDS: TCustomClientDataSet; UpdateKind: TUpdateKind; var Applied: Boolean); var i: Integer; cds: TClientDataSet; begin cds := TClientDataSet.Create(Self); cds1.Data := DeltaDs.Data; for i:= 0 to cds1.FieldCount - 1 do if (cds1.Fields[i] is TDataSetField) then cds := TClientDataSet(TDataSetField(cds1.Fields[i]).NestedDataSet); cds2.Data := cds.Data; cds.Free; end;Delphi follower
------
Delphi |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |