2009-09-03 68 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