logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • О нас
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Кастомизация дизайнера отчетов
  • Как отобразить подвал страницы PageFooter только на последней странице отчета

    15 мая 2020 г.

    Разрабатывая однотипные отчеты, или отчеты с одинаковыми бэндами можно использовать наследование отчетов. То есть базовый

    Подробнее
  • Как сделать чек из программы WPF

    17 августа 2020 г.

    Я думаю каждый разработчик WinForms сталкивался с мыслью, что стандартные элементы управления формами выглядят слишком

    Подробнее
  • Как использовать свои библиотеки с функциями в Designer

    6 сентября 2018 г.

    Несмотря на то, что «арсенал» встроенных функций в дизайнере отчетов отнюдь не мал, иногда все

    Подробнее
  • Использование линейки в RichText для FastReport .NET

    16 марта 2022 г.

    В редактор RichText была добавлена линейка. Она позволяет пользователям управлять шириной табуляции и задавать

    Подробнее
  • Как сделать чек из программы Windows Forms

    30 мая 2020 г.

    Приложения Windows Forms - это основа каждого .NET разработчика. Сколько таких приложений создается каждый день

    Подробнее

Кастомизация дизайнера отчетов

31 мая 2020 г.

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

В этой статье мы рассмотрим, как создать пользовательские элементы управления дизайнером ответов, то есть пользовательскую панель инструментов с нужными функциональными кнопками. Сделать это достаточно просто. Дело в том, что компонент дизайнера отчетов предоставляет нам своего рода API, для вызова некоторых его функций, таких как: создание, загрузка и сохранение отчета, печать, просмотр отчета и многие другие.

Поэтому, все что нам нужно – добавить компонент дизайнера отчетов и создать собственную панель инструментов.

Добавим на форму компонент ToolStrip. И создадим на панели 7 кнопок:

  • New – создать новый отчет;
  • Open – открыть существующий шаблон отчета для редактирования;
  • Save – сохранить шаблон отчета;
  • Preview – предварительный просмотр отчета;
  • Undo – отменить последнее редактирование;
  • Redo – вернуть отмененное редактирование;
  • Close – закрыть программу.

Custom designer menu

Подключаем библиотеку FastReport.dll к проекту. И для формы создаем обработчик события Load:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public DesignerControl designer; //Объявляем переменную для компонента дизайнер отчетов
 
 private void Form1_Load(object sender, EventArgs e)
 {
 designer = new DesignerControl(); //Создаем экземпляр дизайнера отчетов
 this.Controls.Add(designer); //Добавляем компонент на форму
 
 Report report = new Report(); //Создаем объект отчета
 designer.Report = report; //Передаем созданный пустой отчет в дизайнер отчетов
 designer.RefreshLayout(); //Обновляем дизайнер
 designer.Dock = DockStyle.Fill; //Задаем размещение компонента дизайнера
 designer.ShowMainMenu = false; //Отключаем меню в дизайнере
 }
 
 //Кнопка создания нового отчета
 private void ToolStripButton1_Click(object sender, EventArgs e)
 {
 designer.cmdNew.Invoke();
 }
//Кнопка открытия отчета
 private void OpenBtn_Click(object sender, EventArgs e)
 {
 designer.cmdOpen.Invoke();
 }
//Кнопка сохранения отчета
 private void SaveBtn_Click(object sender, EventArgs e)
 {
 designer.cmdSave.Invoke();
 }
//Кнопка просмотра отчета
 private void PreviewBtn_Click(object sender, EventArgs e)
 {
 designer.cmdPreview.Invoke();
 }
//Кнопка завершения программы
 private void CloseBtn_Click(object sender, EventArgs e)
 {
 this.Dispose();
 }
//Кнопка отмены последнего изменения
 private void UndoBtn_Click(object sender, EventArgs e)
 {
 designer.cmdUndo.Invoke();
 }
//Кнопка возврата последнего изменения
 private void RedoBtn_Click(object sender, EventArgs e)
 {
 designer.cmdRedo.Invoke();
 }

Как вы заметили, для каждой кнопки из созданной панели инструментов мы создали событие клика. В соответствии с назначением кнопок, мы вызываем нужную команду дизайнера.

Список доступных команд:

  • cmdNew – создание нового отчета;
  • cmdNewPage – создание новой страницы отчета;
  • cmdNewDialog – создание диалоговой формы отчета;
  • cmdOpen – открытие существующего шаблона отчета для редактирования;
  • cmdSave – сохранение шаблона отчета;
  • cmdSaveAs – сохранение шаблона отчета с указанием пути;
  • cmdSaveAll – сохранение всех изменений;
  • cmdClose – закрытие отчета в дизайнере;
  • cmdCloseAll – закрытие всех отчетов в дизайнере;
  • cmdPreview – просмотр отчета;
  • cmdPrinterSetup – установки печати;
  • cmdPageSetup – установки страницы отчета (ориентация, размеры и др.);
  • cmdAddData – добавить источник данных в отчет;
  • cmdSortDataSources – сортировать источники данных;
  • cmdChooseData – выбор источника данных;
  • cmdUndo – отмена последнего редактирования отчета;
  • cmdRedo – возврат последнего редактирования отчета;
  • cmdCut – вырезать в буфер обмена;
  • cmdCopy – копировать в буфер обмена;
  • cmdPaste вставить из буфера обмена;
  • cmdFormatPainter – задать формат рисовщика;
  • cmdDelete – удалить объект отчета;
  • cmdCopyPage – копировать страницу отчета;
  • cmdDeletePage – удалить страницу отчета;
  • cmdSelectAll – выделить все объекты на странице;
  • cmdGroup – сгруппировать объекты;
  • cmdUngroup – разгруппировать объекты отчета;
  • cmdEdit – редактировать настройки страницы отчета;
  • cmdFind – отображает окно поиска;
  • cmdReplace – отображает окно замены;
  • cmdBringToFront – объект дизайнера на передний план;
  • cmdSendToBack - объект дизайнера на задний план;
  • cmdInsert – проверяет включена ли опция вставки;
  • cmdInsertBand – вставить бэнд;
  • cmdRecentFiles – добавляет файл в список недавних файлов;
  • cmdSelectLanguage – выбрать язык локализации дизайнера;
  • cmdViewStartPage – включить стартовую страницу при открытии дизайнера;
  • cmdReportSettings – задать настройки отчета;
  • cmdOptions – задать настройки дизайнера;
  • cmdReportStyles – задать стиль отчета;
  • cmdHelpContents – показать веб страницу помощи;
  • cmdAbout – отобразить страницу About;
  • cmdWelcome – отобразить приветственную страницу;
  • cmdPolySelectMove, cmdPolySelectPointer, cmdPolySelectAddPoint, cmdPolySelectBezier, cmdPolySelectRemovePoint – настройки полигона.

А теперь запустим наше приложение:

Custom Report Designer

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

О продукте Купить
avatar
Dmitriy Fedyashov
Технический писатель
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport Designer Report Customization

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • FAQ
  • Видео уроки
  • Форум
  • Условия оказания поддержки
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • Нестандартное лицензирование
  • ВУЗам
  • Карьера
  • Контакты

© 1998-2023 ООО «Быстрые отчеты»

  • Согласие с обработкой персональных данных
  • Политика в отношении обработки персональных данных
  • Не является публичной офертой