TCustomClientDataSet.CloneCursor的用法
var
ds1: TSmartDataSet;
begin
ds1 := TSmartDataSet.Create(nil);
try
ds1.CloneCursor(SourceDataSet, False);
ds1.First;
while not ds1.Eof do
begin
...
ds1.Next;
end;
finally
FreeAndNil(ds1);
end;
end;
注:
CloneCursor 既可以用到SourceDataSet的记录,又不会触发SourceDataSet移动等事件,这样不仅提高了效率,而且可以减少对事件的考滤。
TSmartSumList就是用这个原理来实现合计的。