Кастомизация Viewer готового отчета в FastReport .NET

29.02.2020

Основной инструмент просмотра отчетов FastReport .NET – Viewer. Этот просмотрщик имеет богатый инструментарий для сохранения, экспорта, печати и других манипуляций с отчетом.

Все это многообразие кончено же полезно, но не всегда нужно. Например, для пользователей, которые только просматривают и печатают отчет экспорт и отправка по электронной почте совсем ни к чему. Также, многим совсем не нужен большой список доступных экспортов отчета. Вы только путаетесь и теряете время при поиске нужного. В таких случаях хотелось бы оставить только нужные функциональные возможности для этих пользователей. И это можно сделать достаточно просто.

Этот вопрос возник и у пользователя генератора отчетов Combit List & Label.

Дизайнер отчетов FastReport.Net, как вы знаете, тоже позволяет просматривать отчеты. Для этого он использует все тот же Viewer. И вы можете настроить список доступных экспортов в настройках дизайнера. Меню File->Options->User Interface:

 

Кнопка Exports Menu открывает окно настройки отображения экспортов:

 

Можно настроить отображение как отдельных экспортов, так и целой группы. Для быстрого восстановления изначальных настроек есть кнопка Default Menu. Например, мы убрали из отображения экспорт в формат PDF, Office и XML. И действительно при просмотре отчета мы увидим, что в списке экспортов их больше нет:

 

Но из дизайнера отчетов мы можем настроить только отображение списка экспортов. Как же быть с другими элементами управления? Для этого придется воспользоваться навыками программирования. При создании приложения в котором будет запускаться просмотр отчетов мы можем задать настройки меню просмотрищика. Например, такой код:

1
2
3
4
5
Report report = new Report();
 report.Load("App_Data/Master-Detail.frx");
 report.Prepare();
 FastReport.Utils.Config.PreviewSettings.Buttons = PreviewButtons.Print | PreviewButtons.Design;
 report.ShowPrepared();

Здесь, мы настраиваем отображение кнопок. А именно - явно перечисляем кнопки, которые будут отображены: Print и Design.

В результате мы получим:           

Отличный результат – ничего лишнего. Помимо кнопок, также отображается номер страницы в поле ввода. Его убрать нельзя, иначе без кнопок навигации по страницам невозможно будет переходить на другие страницы.

Теперь можно немного поэкспериментировать. Если ваше приложение подразумевает какую-то логику по скрытию/отображению элементов управления в превью, то наверняка будет полезной возможность вернуть все к начальному виду:

Config.PreviewSettings.Buttons = PreviewButtons.All;

Можно пойти другим путем и не перечислять кнопки, которые нужно отображать, а наоборот перечислить те, которые нужно исключить:

Config.PreviewSettings.Buttons ^= PreviewButtons.Email;

При этом, кнопка отправки электронного письма пропадет, а все остальные будут доступны.

Конечно же, вы можете редактировать список доступных экспортов по аналогии с выше приведенными примерами.

Там же можно настраивать список экспортов через:

Config.PreviewSettings.Exports

И экспорты в облака через:

Config.PreviewSettings.Clouds

FastReport .NET Preview Printing Viewer
25 сентября 2023

Как сделать ценники с составом продуктов в FastReport VCL

Начиная с версии 2023.3 в движок отчетов FastReport VCL добавился еще один мощный инструмент – уменьшение текста в объекте Текст.
26 апреля 2023

Как использовать RFID-метки в FastReport .NET

RFID-метка в FastReport .NET позволяет пользователям использовать библиотеку для создания этикеток или карт без сторонних программ
24 февраля 2022

Как распечатать несколько раз одну страницу отчета

Рассказываем об индивидуальных настройках печати вашего отчёта из собственного приложения с библиотекой FastReport .NET.