Работники Fast Reports, похоже, покинули русскоязычный форум... Иначе как объяснить, что никаких ответов здесь нет от них...
Сам себе отвечу на вопрос. GAAlex:
А никак! Ибо Subreport не имеет никакого отношения к Report. Subreport придуман только для того чтобы иметь свои данные и все. А можно было бы сделать наследование и, допустим, хранить тело Subreport в Report - ибо один XML внутри другого не представляет трудности. Или я не прав?
А по сути вопроса существует несколько вариантов решения.
1. Наследование.
Шапку в базовый отчет, основной наследуем от базового.
2. Добавление одного отчета к другому при генерации.
Смотреть
Report.Prepare(bool append);
fantomus
Спасибо. Попробую. второй вариант.
По первому: Report и Subreport вообще разные классы - там нет наследования... :-( Это и было для меня открытием, в плохом смысле этого слова.
А не надо Report от Subreport наследовать (и наоборот).
Обычно создается набор базовых отчетов (с корпоративным стилем, например).
Они используются только для наследования.
От них наследуются все рабочие отчеты.
В случае изменения в базовых (текст поменялся, цвет и пр.), все изменения отображаются в рабочих.
Только надо учитывать, что нельзя наследовать существующий отчет, только новый.
fantomus
Я правильно понял, что о наследовании речь идет только при хранении отчетов в виде класса C#? Если так, то мы теряем гибкость при изменении базовых отчетов (код непроходимо будет пересобирать)
Комментарии
Сам себе отвечу на вопрос.
GAAlex:
А никак! Ибо Subreport не имеет никакого отношения к Report. Subreport придуман только для того чтобы иметь свои данные и все. А можно было бы сделать наследование и, допустим, хранить тело Subreport в Report - ибо один XML внутри другого не представляет трудности. Или я не прав?
А по сути вопроса существует несколько вариантов решения.
1. Наследование.
Шапку в базовый отчет, основной наследуем от базового.
2. Добавление одного отчета к другому при генерации.
Смотреть
Report.Prepare(bool append);
Спасибо. Попробую. второй вариант.
По первому: Report и Subreport вообще разные классы - там нет наследования... :-( Это и было для меня открытием, в плохом смысле этого слова.
Обычно создается набор базовых отчетов (с корпоративным стилем, например).
Они используются только для наследования.
От них наследуются все рабочие отчеты.
В случае изменения в базовых (текст поменялся, цвет и пр.), все изменения отображаются в рабочих.
Только надо учитывать, что нельзя наследовать существующий отчет, только новый.
Я правильно понял, что о наследовании речь идет только при хранении отчетов в виде класса C#? Если так, то мы теряем гибкость при изменении базовых отчетов (код непроходимо будет пересобирать)
Базовый отчет можно загружать из файла или потока.
Спасибо, понял. Хотя бы новые отчеты будут изменены "автоматом"/
Но пожелание к разработчикам чтобы они сделали у Subreport методы Load и Save остается... или у бэндов :-)
C праздником всех. С Днем программиста