0

我有一个TClientDataSet存储来自医疗仪器的数据。此客户端数据集链接到网格以实时显示数据。我的问题是,当用户正在编辑数据时,仪器发送了一个新数据包,用户已修改但尚未发布的数据丢失了,因为我只能获取TBookmark当前记录,追加新记录,然后goto保存的书签(有时不是正确的记录,显然是由于新记录)。如有必要,我可以检查数据集StatePost然后设置State,我正在寻找一种方法来更新客户端数据集中的数据而不影响其State. 这甚至可能吗?

4

1 回答 1

4

克隆数据集并修改克隆上的数据。

Cary Jensen 的文件在这里:http ://edn.embarcadero.com/article/29416

基本上你需要类似的东西

var
  lEdDataset: TClientdataset;
begin
  lEdDataset := TClientDataSet.create(nil);
  try
    lEdDataset.CloneCursor(SourceDataSet, True**); 
    StoreMedDeviceRecord(lEdDataset);
  finally
    lEdDataset.free; 
  end;

** 您需要阅读有关 True/False 设置的文档并决定您实际需要什么(我不记得了)

于 2013-10-01T08:18:27.260 回答