logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • Статьи
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • События PreviewControl.OnPrint и PreviewControl.OnExport
  • Как удалить ненужные объекты из меню окна предварительного просмотра

    19 мая 2018 г.

    Иногда вам может потребоваться ограничить функциональность отчета, например, убрать ненужные форматы экспорта из списка в

    Подробнее
  • Как запретить печать отчета и другие элементы из меню при просмотре отчета FastReport .NET

    29 февраля 2020 г.

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

    Подробнее
  • Копирование бэндов отчета в другой со всем содержимым.

    31 марта 2021 г.

    Иногда возникает необходимость использовать части одного отчета в другом. В простых случаях для этого можно

    Подробнее
  • Установка FastReport Business Graphics в FastReport .NET

    25 ноября 2021 г.

    FastReport Business Graphics – это библиотека, содержащая несколько продвинутых способов визуализации данных. На сегодняшний день

    Подробнее
  • Отчёт из PostgreSQL в приложении .NET 5 под управлением Astra Linux

    4 декабря 2020 г.

    Сегодня мы поговорим о российской операционной системе Astra Linux. Эта система получила в последнее время

    Подробнее

События PreviewControl.OnPrint и PreviewControl.OnExport

1 октября 2020 г.

В FastReport 2019.4 добавилась возможность подписки на события PreviewControl.OnPrint и PreviewControl.OnExport, которые вызываются непосредственно при нажатии соответствующих кнопок.

При просмотре отчета вызывается viewer с панелью инструментов, на которой есть такие элементы как кнопка печати и выпадающий список с экспортами отчета. Выбрав какой-либо элемент списка сработает событие OnExport, а нажав на кнопку Print – OnPrint. Давайте на примере рассмотрим, как можно использовать эти события на практике.

Вы можете использовать стандартный обработчик этих событий, который создается для визуального компонента PreviewControl:

 OnExport event setted

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

Но, если вы добавляете компонент PreviewControl в коде приложения, то придется подписать собственный обработчик на событие. Например, ваш обработчик может отправлять оповещение о событии экспорта или печати. Это может быть, например, запись в базу данных. Рассмотрим этот пример:

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
 private void Button1_Click(object sender, EventArgs e)
 {
 //create report
 Report report = new Report();
 //Load report
 report.Load("App_Data/Master-Detail.frx");
 //create data source
 DataSet data = new DataSet();
 //load data
 data.ReadXml("C:\\Program Files (x86)\\FastReports\\FastReport.Net\\Demos\\Reports\\nwind.xml");
 //register data
 report.RegisterData(data);
 //create preview object
 var prev = new PreviewControl();
 //add preview into the form
 this.Controls.Add(prev);
 prev.Dock = DockStyle.Fill;
 prev.BringToFront();
 //subscribe to the event
 prev.OnExport+= new System.EventHandler<PreviewControl.ExportEventArgs>(ExportAction);
 //assign preview control to the report
 report.Preview = prev;
 //Show the report
 report.Show();
 }

После создания объекта отчета и регистрации данных в нем, мы создаем PreviewControl, подписываем на событие OnExport свой обработчик события, который реализуем ниже. Далее, мы присваиваем объект PreviewControl preview отчета. А теперь реализуем пользовательский обработчик события OnExport:

1
2
3
4
5
6
7
8
9
 public void ExportAction(object sender, PreviewControl.ExportEventArgs e)
 {
 SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True");
 SqlCommand command = new SqlCommand("insert into dbo.Status (ReportName, ExportType, ExportDate) Vales ('" + Path.GetFileNameWithoutExtension(e.Report.FileName) + "', '"+ e.Export.BaseName +"', '" + DateTime.Now + "')");
 command.Connection = conn;
 conn.Open();
 command.ExecuteNonQuery();
 conn.Close();
 }

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

Аналогичным образом реализуется работа с событием OnPrint.

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

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

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

© 1998-2022 ООО «Фаст Репортс»

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