Инструмент бизнес-аналитики от компании Stimulsoft. Программное обеспечение для создания дашбордов и отчетов. Инструменты отчетности для любой платформы.
Доброе утро! Подскажите пож-та при формировании отчета с использованием следующего подхода: создается отчет Newreport, рендерится Newreport.Render(); и добавляется в коллекцию unionReport.RenderedPages.Add(page);
var unionReport = new StiReport(); // создание объединенного отчета
unionReport.RenderedPages.Clear(); // очистка страниц ()
foreach (KeyValuePair<string, object[]> temp in dicByPeriods) // цикл по коллекции (в коллекции данные для отчетов)
{
StiReport Newreport = new StiReport(); // создание временного отчета
StiOptions.Engine.DefaultUnit = StiReportUnitType.Centimeters; // увидел на форуме, думал поможет)))
Newreport.Load(reportTemplate.ReportInf); // загрузка шаблона отчета
Newreport.RegBusinessObject("reestrContractInfo", "reestrContractInfo", reestrContractInfo); // регистрация бизнес объектов
Newreport.RegBusinessObject("reestrProdPost", "reestrProdPost", reestrProdPost);
Newreport.Render(); // рендеринг промежутотчета
foreach (StiPage page in Newreport.RenderedPages)
{
unionReport.RenderedPages.Add(page); // добавление страниц в объединенный отчет
}
}
viewer.Zoom = 100; // попытка установить масштаб отображения в 100% (не получается)
viewer.Report = unionReport; // присвоение отчета вьюверу
после выводится на отображение отчет unionReport. Все хорошо при отображении при масштабе 100%, но при изменении масштаба происходит следующее - таблицы и текст остаются неизменными, а вот страница отчета изменяется. Пример происходящего в приложении
Скорее всего во вновь созданном отчёте и в шаблонах используются разные единицы измерения.
Попробуйте задать значение по умолчанию StiOptions.Engine.DefaultUnit или свойство ReportUnit у отчёта unionReport.
Проблема в этом месте - когда создаются новые страницы
foreach (StiPage page in Newreport.RenderedPages)
{
unionReport.RenderedPages.Add(page); // добавление страниц в объединенный отчет
}
Для page невозможно установить размер т.к. свойство ReportUnit для внутреннего использования!
Пробовал через page.Report.ReportUnit = StiReportUnitType.Centimeters; не помогает!
Спасибо!