Страница 1 из 2
Кнопка редактирования отчёта
Добавлено: 05 ноя 2014, 17:31
Леонид
Добрый вечер!
Столкнулись с проблемой - при выводе отчёта нет кнопки редактирования. Версия репорта последняя -
2013.3.1800.0.
Код такой:
Код: Выделить всё
StiReport report = new StiReport();
Stimulsoft.Report.Viewer.StiViewerControl stiPreview = new Stimulsoft.Report.Viewer.StiViewerControl()
{
Dock = DockStyle.Fill,
Visible = true,
// set option flags
ShowPrint = true,
ShowOpen = true,
ShowEditor = true,
ShowEditorTool = true,
ShowPageNew = true,
ShowSendEMail = true,
ShowThumbsPanel = true,
ShowSaveDocumentFile = true,
};
// assign report object to preview control
stiPreview.Report = report;
stiPreview.FirstPage();
stiPreview.SetZoom(100);
report.Show();
Либо такой:
Код: Выделить всё
StiReport report = new StiReport();
report.Show();
Re: Кнопка редактирования отчёта
Добавлено: 06 ноя 2014, 16:49
Леонид
Проверил сегодня и на последней версии - 2014.2.2000.0. Всё осталось по-прежнему или может я что-то не так делаю, но кнопки нет?
Re: Кнопка редактирования отчёта
Добавлено: 07 ноя 2014, 00:57
Jan
Здравствуйте,
Посмотрите свойство отчета PreviewSettings в дизайнере отчетов. Скорей всего там выключен доступ к этой функции.
Спасибо.
Re: Кнопка редактирования отчёта
Добавлено: 07 ноя 2014, 12:03
Леонид
Доброе утро!
Да, вы правы, в дизайнере ("C:\Program Files\Stimulsoft Reports.Net 2014.2 Trial\Bin\"Designer.exe), если поставить флажок "Edit Page", то кнопка редактора отображается корректно.
Однако, у нас все отчёты мы создаём динамически. Проверил всё ещё раз на нескольких проектах - кнопки нет.
Даже, если создать отчёт так:
Код: Выделить всё
StiReport report = new StiReport();
Stimulsoft.Report.Viewer.StiViewerControl stiPreview = new Stimulsoft.Report.Viewer.StiViewerControl()
{
Dock = DockStyle.Fill,
Visible = true,
PreviewSettings = StiPreviewSettings.All,
ShowEditor = true,
IsEditorActivated = true,
ShowPageDesign = true
};
// assign report object to preview control
stiPreview.Report = report;
report.Show();
То есть все кнопки, кроме кнопки редактирования.
Какое конкретно свойство в структуре PreviewSettings отвечает за показ кнопки редактирования?
Re: Кнопка редактирования отчёта
Добавлено: 07 ноя 2014, 18:30
Jan
Здравствуйте Леонид,
Настройки вьювера отчетов, которые выполняются из дизайнера отчетов сохраняются в отчете. Перед отображением вьювера отчетов, учитываются настройки как из вьювера отчетов, так и из отчета, и из статических опций. Чтобы решить проблему просто добавьте следующую строку:
Код: Выделить всё
report.PreviewSettings = (int)StiPreviewSettings.All;
p.s. Свойство PreviewSettings числовое, не перечисление. Сделано для более краткой записи инициализации свойства при генерации кода отчета.
Дайте знать если будут еще вопросы.
Спасибо.
Re: Кнопка редактирования отчёта
Добавлено: 10 ноя 2014, 10:55
Леонид
Да, этот код помог, - кнопка появилась!
Спасибо!
Re: Кнопка редактирования отчёта
Добавлено: 10 ноя 2014, 11:27
Aleksey
Здравствуйте Леонид,
Всегда рады помочь.
Спасибо.
Re: Кнопка редактирования отчёта
Добавлено: 22 апр 2015, 15:31
Леонид
Добрый день!
Поднимаю эту тему ещё раз, но немного в необычном контексте.
Имеем код:
Код: Выделить всё
StiReport report = new StiReport();
Stimulsoft.Report.Viewer.StiViewerControl stiPreview = new Stimulsoft.Report.Viewer.StiViewerControl()
{
Dock = DockStyle.Fill,
Visible = true,
// set option flags
ShowPrint = true,
ShowOpen = true,
ShowEditor = true,
ShowEditorTool = true,
ShowPageNew = true,
ShowSendEMail = true,
ShowThumbsPanel = true,
ShowSaveDocumentFile = true,
};
// assign report object to preview control
stiPreview.Report = report;
stiPreview.FirstPage();
stiPreview.SetZoom(100);
// stiReport.PreviewSettings = (int)stiPreview.PreviewSettings; // здесь этот код работает, т.к. стоит до медода .Render()
// рендерим отчёт
report.Render(false);
// далее идёт код проверки уже отрендеренных Crosstab'ов и если они больше страницы, то ставим флажок, запрещающий печать, т.е. надо скрыть кнопку печати
// однако, когда пытаемся установить настройки после .Render() таким же образом, т.е. stiReport.PreviewSettings = (int)stiPreview.PreviewSettings; то никакого результата не получаем.
Подскажите, пожалуйста, почему так сделано и как это обойти? Спрашиваем, т.к. купили новую версию 2014.3, и хочется перейти на неё с 2012.1.1300.0 (в этой версии всё работает, как часы после рендеринга).
Re: Кнопка редактирования отчёта
Добавлено: 23 апр 2015, 17:01
HighAley
Здравствуйте, Леонид.
Попробуйте после отрисовки отчёта настройки задавать следующим кодом:
Код: Выделить всё
report.CompiledReport.PreviewSettings = (int)StiPreviewSettings.All;
Спасибо.
Re: Кнопка редактирования отчёта
Добавлено: 24 апр 2015, 10:29
Леонид
Доброе утро!
Ваш пример кода работает, но с одной оговоркой.
Строку с кодом
Код: Выделить всё
report.CompiledReport.PreviewSettings = (int)StiPreviewSettings.All;
необходимо ставить
выше (до) строки присвоения отчёта объекту Preview.
То есть, выглядит это следующим образом:
Код: Выделить всё
stiPreview = new Stimulsoft.Report.Viewer.StiViewerControl()
Stimulsoft.Report.StiReport stiReport = new Stimulsoft.Report.StiReport stiReport();
....
report.CompiledReport.PreviewSettings = (int)StiPreviewSettings.All; // до присвоения объекту Preview самого отчёта
...
stiPreview.Report = stiReport;
Только при таком подходе настройки применяются.
Спасибо за помощь!