7.7. TssMemDataSet

Предки: TssCustomMemDataSet -> TssDataSet

Цель данного класса – предоставлять возможность отображения и редактирования данных, не получая их из внешнего источника. Источником данных для TssMemDataSet служит пользовательский набор данных – объект класса TssDataStorage, назначаемый в TssMemDataSet через свойство SourceDataStorage. TssMemDataSet работает в режиме кэширования изменений (то есть свойство CachedUpdate у него равно True), поэтом при выполнении команды Post результат редактирования кэшируется. При выполнении команды ApplyUpdates SourceDataStorage подменяется на набор данных, включающий результаты редактирования, а кэш редактирования очищается.

Особенности реализации свойств и полей класса TssMemDataSet:

ИмяТипОписание
* FSourceDataProducerИмеет тип TssMemDataProducer
* KeyFieldПри присвоении, в дополнение к поведению предка, присваивается свойству dpSource.KeyField
* StreamNameПрисваивается и берется из поля FStreamName
+ SourceDataStorageTssDataStorageПрисваивается и берется из FSourceDataProducer

Особенности реализации некоторых действий:

  1. Выполнение ApplyUpdates.

    1. Берет DataStorage от CachedUpdateDataProducer.

    2. Очищает кэш изменений у CachedUpdateDataProducer.

    3. Назначает свойству SourceDataStorage набор данных, полученный в п.1a