我有一个TClientDataSet
来存储来自医疗器械的数据。此客户端数据集链接到网格以实时显示数据。我的问题是,当用户正在编辑数据,并且仪器发送新数据包时,用户已修改但尚未发布的数据将丢失,因为我只能在当前记录上获得TBookmark
,附加新记录,然后goto
保存的书签(有时不是正确的记录,显然是由于新记录)。如有必要,我可以检查数据集的State
,Post
,然后设置State
,我正在寻找一种方法来更新客户端数据集中的数据,而不会影响其State
。这甚至可能吗?
答案 0 :(得分: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设置的文档并确定您实际需要的内容(我不记得副手)