Текущий набор данных dataset’а хранится в поле FCachedDataStorage в виде объекта типа TssComplexDataStorage
. Он формируется как результат работы цепочки 4-x DataProducer’ов:
<SourceDataProducer>
(поле FSourceDataProducer).Предоставляет исходные данные. Класс этого DataProducer’а зависит от класса DataSet’а.
TssCachedUpdateProducer
(поле FCachedUpdateProducer).Берет данные от <SourceDataProducer>
и применяет к ним закешированные пользовательские изменения данных.
TssDataProcessor
(поле FDataProcessor).Берет данные от TssCachedUpdateProducer
и применяет к ним операции согласно своему свойству LSQL.
TssNodeDataProducer
(поле FNodeDataProducer).Берет данные от TssDataProcessor
и сворачивает указанные узлы и группы.
Результат работы TssNodeDataProducer
сохраняется в поле FCachedDataStorage.
В случае изменения данных происходит пересчет, начиная с какого-либо участка этой цепочки.