SubReports

Обсуждение Stimulsoft Reports.NET
Ответить
TVV
Сообщения: 27
Зарегистрирован: 08 сен 2006, 15:07

SubReports

Сообщение TVV »

Здравствуйте
Ещё раз спасибо за отличный продукт!

Вопросик.

Объясните, пожалуйста, или скажите, где прочитать о :
- наследовании отчётов
- динамической настройке сабрепортов(те, можно-ли как-то разделять один субрепорт между несколькими репортами

интересует, возможно ли это вообще, плюс, если таки возможно, то какие-нибудь примеры

используем версию 2006.4
пока было достаточно, ошибки не критичны, вот и не обновлялись ;)

спасибо
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

SubReports

Сообщение Edward »

TVV писал(а):Здравствуйте
Ещё раз спасибо за отличный продукт!
спасибо за хорошие слова!
- наследовании отчётов
Описание работы с наследуемыми отчетами смотрите, пожалуйста, здесь:

http://forum.stimulsoft.com/Default.aspx?g=posts&t=316
[/quote]- динамической настройке сабрепортов(те, можно-ли как-то разделять один субрепорт между несколькими репортами[/quote]

Да, это возможно. Вы создаете отдельный отчет и используете его далее как подчиненный в коллекции SubReports основного отчета. Это получается как-бы составной отчет из абсолютно независимых отчетов.

Внешний SubRеport также может быть использован "многократно", т.е. как обычный отчет. Подробнее об этой функции, читайте здесь:

http://forum.stimulsoft.com/Default.aspx?g=posts&t=930


Если какие-то вопросы еще останутся после прочтения топиков, дайте знать, я вышлю Вам примеры использования этих возможностей.

Спасибо.
Вложения
SubReports.zip
(6.28 КБ) 161 скачивание
TVV
Сообщения: 27
Зарегистрирован: 08 сен 2006, 15:07

SubReports

Сообщение TVV »

Спасибо.
Изучаем :)
TVV
Сообщения: 27
Зарегистрирован: 08 сен 2006, 15:07

SubReports

Сообщение TVV »

Похоже, у нас таки очень старая версия :)

Reports.Report master = new Reports.Report();
master.RegData(dataSet);
master.Design();

StiReport.ReportType = typeof(Reports.Report);

Посмотрев на пример, я понял это так

StiReport report = new StiReport();
report.Load(edMainReport.Text);
report.Compile();

StiReport.ReportType = report.CompiledReport.GetType();

StiReport reportInherited = new StiReport();
reportInherited.Design(true);

не работает :(
отчёт стандартный, наследник Reports.Report

я попробовал второй вариант

...
report.MasterReport = masterReport.SaveToString();

и обнаружил, что у нас нету св-ва MasterReport...

напомню, версия 2006.4

-------------------------------
Сабрепорты

Я так понимаю, Subreports.Add позволяет добавить сабрепорты, которые будут печататься после основного
один за другим

у нас другая задача

сотня другая отчётом с одинаковыми pageheader-ами и pagefooter-ами
в хедере и футере может быть что угодно - тексты, картинки и т.д.
мне кажется, нам нужно именно наследование

если необходимо перейти на свежую версию, подскажите на какую?
нам нужна максимальная стабильность, скорость и ... наследование? :)

TVV
Сообщения: 27
Зарегистрирован: 08 сен 2006, 15:07

SubReports

Сообщение TVV »

В версии 2007.2

вариант с

report.MasterReport = masterReport.SaveToString();

работает.

StiReport.ReportType = report.CompiledReport.GetType(); - не работает. Видимо я что-то делаю не так :(
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

SubReports

Сообщение Vital »

в версии 2007.2

вариант с

report.MasterReport = masterReport.SaveToString();

работает.
Эта строка задает мастер отчет у указанного отчета, но если Вы создадите новый отчет в дизайнере он уже не будет использовать наследование.
StiReport.ReportType = report.CompiledReport.GetType(); - не работает. Видимо я что-то делаю не так :(
А эта строка как раз и заставляет дизайнер отчетов создавать нужный тип отчета (отчет должен быть сохранен для наследования).

Спасибо.

Ответить