2009-09-03 14 views
5

Chcę dodać rekord w TClientDataSet na podstawie innego rekordu (w tym samym TClientDataSet). Problem polega na tym, że nie mogę uzyskać dostępu do innego rekordu w TClientDataSet, ponieważ kursor wskazuje na wiersz, do którego dołączam. I nie mogę znaleźć inny sposób dostępu do innych rekordów w tym samym TClientDataset.Delphi: Czy istnieje sposób dostępu do rekordów w TClientDataset oprócz przesuwania kursora

Oczywiście mogę użyć dodatkowego TClientDataSet, skopiować niektóre rzeczy i rozwiązać w ten sposób, ale nie podoba mi się to rozwiązanie.

Czy istnieje sposób dostępu do wierszy/rekordów w TClientDataset oprócz przenoszenia kursora?

Odpowiedz

15

Jedynym sposobem wykonania tej czynności jest pełne przeanalizowanie zawartości właściwości ClientDataSet.Data.

Co oznacza, że ​​musisz samemu napisać większość funkcji ClientDataSet.

Znacznie łatwiej jest sklonować kursor do nowego ClientDataSet, a następnie użyć tego kursora do przeglądania rekordów. Następnie możesz użyć starego ClientDataSet do wykonania załączników.

Ten artykuł wyjaśnia temat klonowania kursorów: Cloning ClientDatSet Cursors

--jeroen

0

Można przyjrzeć się metodzie TClientDataSet.CloneCursor. Aby uzyskać więcej informacji, należy spojrzeć na: http://edn.embarcadero.com/article/29416

+0

Czy widzisz odpowiedź Jeroena (wcześniej), która złożyła tę samą sugestię, pod warunkiem, że ten sam link, ale także miał więcej informacji objaśniających? – Argalatyr

+0

Nie martw się; lepiej jest mieć wiele odpowiedzi niż wcale. –

Powiązane problemy