7.2. TssLinkedDataSet

Предки: TssCustomLinkedDataSet -> TssDataSet.

Цель данного класса – предоставлять дополнительный слой для отображения и редактирования текущего потока вышестоящего DataSet’а.

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

ИмяТипОписание
* FSourceDataProducerИмеет тип TssDataProcessor
* KeyFieldЕсли не назначен явно, то берется из MasterDataSet
* StreamNameБерется из MasterDataSet
+ ModeTssLinkedDataSetModeУказание на DataProducer у MasterDataSet, из которого брать исходные данные.
+ ManualSourceLSQLStringFSourceDataProducer.LSQL (если Mode = ldmManual)
+ MasterDataSetTssDataSetВышестоящий DataSet, чьи данные предоставляет данный DataSet.

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

  1. Дополнительные действия при Post при CachedUpdate = False.

    1. Данные из кэша данного DataSet помещаются в кэш MasterDataSet.

    2. Кэш данного DataSet очищается.

    3. Если MasterDataSet не в режиме CachedUpdate, то у MasterDataSet вызывается метод ApplyUpdates.

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

    1. Если в режиме редактирования, то вызов Post.

    2. Если в предыдущем пункте не было передачи данных в MasterDataSet, то передаем данные в MasterDataSet:

      1. Данные из кэша данного DataSet помещаются в кэш MasterDataSet.

      2. Кэш данного DataSet очищается.

      3. У MasterDataSet вызывается метод ApplyUpdates.