Delphi:除了移动光标,还有什么方法可以访问TClientDataset中的记录吗

Delphi:除了移动光标,还有什么方法可以访问TClientDataset中的记录吗,delphi,Delphi,我想基于另一条记录(在此同一TClientDataSet中)在TClientDataSet中追加一条记录。问题是我无法访问TClientDataSet中的另一条记录,因为光标指向我要追加的行。我找不到其他方法来访问同一TClientDataset中的其他记录 当然,我可以使用一个额外的TClientDataSet,复制一些东西并以这种方式解决它,但我不喜欢这种解决方案 那么,除了移动光标之外,还有什么方法可以访问TClientDataset中的行/记录呢?唯一的方法是完全解析ClientData

我想基于另一条记录(在此同一TClientDataSet中)在TClientDataSet中追加一条记录。问题是我无法访问TClientDataSet中的另一条记录,因为光标指向我要追加的行。我找不到其他方法来访问同一TClientDataset中的其他记录

当然,我可以使用一个额外的TClientDataSet,复制一些东西并以这种方式解决它,但我不喜欢这种解决方案


那么,除了移动光标之外,还有什么方法可以访问TClientDataset中的行/记录呢?

唯一的方法是完全解析ClientDataSet.Data属性内容

这意味着您需要自己编写大部分ClientDataSet功能

将光标克隆到新的ClientDataSet中,然后使用该光标浏览记录要容易得多。然后,您可以使用旧的ClientDataSet进行追加

本文介绍了有关克隆游标的内容:


--jeroen

您可以查看TClientDataSet.CloneCursor方法。有关更多信息,请查看:

您是否看到Jeroen(之前)的回答,其中提出了相同的建议,提供了相同的链接,但也提供了更多解释性信息?不要担心;有多个答案总比没有好。