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

    31 мая 2020 г.

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

    Подробнее
  • Как отобразить подвал страницы PageFooter только на последней странице отчета

    15 мая 2020 г.

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

    Подробнее
  • Как скрыть тулбар в web - отчетах

    16 марта 2017 г.

    По умолчанию веб отчеты отображают вверху панель инструментов для управления отображением отчета: В свойствах объекта

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

    25 ноября 2021 г.

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

    Подробнее
  • Как использовать диаграмму Гантта в FastReport Business Graphics

    11 октября 2021 г.

    С релизом FastReport Business Graphics появился такой интересный вид диаграмм, как диаграмма Гантта. Прежде

    Подробнее

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

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

Несмотря на то, что «арсенал» встроенных функций в дизайнере отчетов отнюдь не мал, иногда все же не хватает какой-то специфической. Благодаря наличию скрипта в отчете мы легко можем реализовать нужную функцию. Но что, если эта функция на нужна во многих отчетах? Каждый раз добавлять ее в скрипт отчета? Конечно же нет. Мы можем использовать собрать все любимые функции в библиотеку подключить ее к дизайнеру отчетов.

Желательно, чтобы библиотека размещалась в одной папке с отчетом.

Давайте создадим Class Library проект, в котором будет наша тестовая функция. К примеру – функция преобразования массива в строку. Получился такой класс.

1
2
3
4
5
6
7
8
9
10
namespace ArrayToString
{
 public static class UserDefined
 {
 public static string ArrayToString(List<string> parameters)
 {
 return String.Join(",", parameters);
 }
 }
}

Компилируем библиотеку.

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

В приложении только форма и кнопка. Для кнопки добавим обработчик события нажатия:

1
2
3
4
5
private void RunBtn_Click(object sender, EventArgs e)
 {
 Report report = new Report();
 report.Design();
 }

Запустим приложение и нажмем кнопку. При этом запустится дизайнер отчетов с пустым отчетом. В свойствах отчета, вы можете добавить ссылку на вашу .net библиотеку.

Теперь создадим простенький шаблон отчета – список категорий товаров:

В бэнд Page Footer добавляем текстовый объект. Скоро вы узнаете зачем он.

Перейдем на вкладку Script. Нам нужно создать список, в который мы будем добавлять названия категорий. Функция из пользовательской библиотеки преобразует список в одну строку, которую мы отобразим в подвале страницы.

Итак, создаем список:

1
2
3
4
public class ReportScript
 {
 public List<string> list = new List<string>();
 }

Вернемся к странице отчета. Для бэнда Data создадим обработчик события AfterPrint:

1
2
3
4
private void Data1_AfterPrint(object sender, EventArgs e)
 {
 list.Add(((String)Report.GetColumnValue("Categories.CategoryName")));
 }

Здесь мы добавляем имя категории каждый раз после отображения бэнда «Данные».

Теперь, добавим обработчик события BeforePrint для текстового объекта в подвале страницы:

1
2
3
4
 private void Text1_BeforePrint(object sender, EventArgs e)
 {
 Text1.Text = ArrayToString.UserDefined.ArrayToString(list);
 }

Здесь, мы присваиваем текстовому объекту строку, возвращаемую пользовательской функцией из добавленной ранее dll-ки. Обратите внимание, что путь к функции полный, с указанием неймспейса и имени класса. Можно сократить имя, если добавить библиотеку ArrayToString в using.

Теперь можно запустить отчет в режиме предварительного просмотра.

Верх страницы:

И низ страницы:

Таким образом, мы получили список категорий товаров в одной строке.

Кстати, вы можете использовать в текстовом объекте в подвале страницы выражение: [ArrayToString.UserDefined.ArrayToString(list)]

Оно абсолютно равнозначно этому:

1
2
3
4
 private void Text1_BeforePrint(object sender, EventArgs e)
 {
 Text1.Text = ArrayToString.UserDefined.ArrayToString(list);
 }

И не нужно создавать обработчик события.

Если вы хотите использовать пользовательскую библиотеку для отчетов в веб проекте, то нужно разместить ее в папке bin.

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

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

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

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