全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1488
推到 Plurk!
推到 Facebook!

請問如何取得Delta裡TDataSetField的值?

缺席
ying0515
中階會員


發表:90
回覆:168
積分:81
註冊:2003-01-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-26 13:56:23 IP:61.218.xxx.xxx 未訂閱
請問如何取得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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-26 16:38:00 IP:61.218.xxx.xxx 未訂閱
謝謝我試出來了!
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
系統時間:2024-05-04 0:45:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!