Основной инструмент просмотра отчетов 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