Clone Cursor
Em determinados momentos você precisa percorrer um dataset que está em state in dsInsert ou dsEdit, mas não pode mover o dataset principal de registro pois isso irá tirar o mesmo deste state। Existem uma maneira elegante de se fazer isso, criar um novo clientdataset e chamar o método abaixo:
procedure CloneCursor(Source: TCustomClientDataSet; Reset: Boolean; KeepSettings: Boolean);
Onde:
Source -> ClientDataset a ser clonado
Reset e KeepSettings
Determinam como o clone trata os seguintes atributos:
- Filter, filtered, filterOptions, onFilterRecord
- IndexName
- MasterSource, MasterFields
- ReadOnly
- RemoteServer, ProviderName