2009-09-03 111 views
5

记录在TClientDataSet基于另一个记录(在同一个TClientDataSet中)追加记录。问题是我无法访问TClientDataSet中的另一条记录,因为光标指向我要追加的行。而且我无法找到另一种方式访问​​同一个TClientDataset中的其他记录。德尔福:有没有办法访问TClientDataset除了移动光标

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

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

回答

15

要做到这一点的唯一方法是完全剖析ClientDataSet.Data属性内容。

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

将光标克隆到新的ClientDataSet中,然后使用该光标浏览您的记录会容易得多。然后,您可以使用旧的ClientDataSet来执行附加操作。

本文介绍了有关克隆光标: Cloning ClientDatSet Cursors

--jeroen

0

你可以看看TClientDataSet.CloneCursor方法。有关更多信息,请参阅:http://edn.embarcadero.com/article/29416

+0

您是否看到Jeroen(早期)提供相同建议的答案提供了相同的链接,但也有更多解释性信息? – Argalatyr 2009-09-03 13:07:45

+0

别担心;多答案比没有答案更好。 – 2009-09-06 15:38:57