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

    31 марта 2021 г.

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

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

    4 декабря 2020 г.

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

    Подробнее
  • Как использовать Online Designer в ASP .NET Core

    17 января 2018 г.

    Одной из новинок FastReport .NET 2018 стала адаптация OnlineDesigner под фреймворк .NET Core. В целом, онлайн

    Подробнее
  • Пакет FastReport.NET и .NET 5.0

    17 декабря 2020 г.

    UPD: Актуально до версии FastReport .NET 2022.2. Теперь лицензионные пакеты доступны на нашем NuGet-сервере. С

    Подробнее
  • Как использовать объект WebReport в приложениях ASP .NET Core

    17 января 2018 г.

    Не так давно FastReport порадовал нас новой библиотекой - FastReport Core. Это специальная версия FastReport

    Подробнее

Как использовать несколько баз данных в отчете

28 апреля 2019 г.

Иногда, нам приходится иметь дело с данными из разных источников, в разных форматах. Это может стать настоящей головной болью для аналитиков, разработчиков отчетов. Ведь придется как-то объединить данные. К счастью, в отчетах FastReport .NET можно создавать множество подключений к данным. Причем, источники данных могут быть совершенно разными – текстовые файлы, базы данных. Благодаря этому, мы сможем консолидировать данные в одном отчете.

В этой статье мы рассмотрим, как создать в отчете два источника данных и связать таблицы из них, для создания отчета с главной и подчиненной таблицей. Всего две таблицы и два файла. Один – в формате csv, второй – в json.

Плагины

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

Чтобы получить плагин коннектора в формате JSON, нам потребуется собрать соответствующий проект. Находится он здесь:

C:\Program Files (x86)\FastReports\FastReport.Net\Extras\Connections\FastReport.Json

Все, что вам нужно – восстановить один пакет NuGet Newtonsoft.Json, и собрать проект. В папке Debug или Release вы найдете две библиотеки: FastReport.Json.dll и Newtonsoft.Json.dll. Первый – и есть плагин для дизайнера отчетов.

Как добавить плагин

Запускаем дизайнер отчетов. В меню File находим Options. В опциях дизайнера отчетов переходим ко вкладке Plugins:

 

 И добавляем созданный нами плагин. Чтобы воспользоваться им, необходимо перезапустить дизайнер отчетов.

Приступим к созданию демонстрационного отчета. Создадим новый источник данных, с помощью кнопки:

 

В появившемся окне мистера создания источника данных, нажимаем кнопку New connection…

В окне настройки соединения выбираем тип соединения. Именно в этом списке добавляются новые коннекшены, которые мы добавляем с помощью плагинов. Сейчас нас интересует стандартный коннектор – CSV database. Выбираем его задаем путь к файлу с данными:

 

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

Давайте создадим второй источник данных. В этот раз мы выбираем тип подключения – JSON database.

 

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

Итак, мы имеем две таблицы – Orders и Customers. В таблице Orders есть внешняя ссылка на Customers.

Наша задача вывести наименования клиентов и список заказов для каждого из них. Таким образом получится нечто вроде группировки заказов по клиенту. Такой тип отчетов называется Master-Detail. Чтобы осуществить задуманное, нужно создать связь между таблицами. В окне Данные (Data) нажимаем кнопку Actions. В выпадающем списке выбираем New Relation…:

В окне редактирования связи задаем родительскую таблицу, которая имеет связь один-ко-многим. Также задаем дочернюю таблицу. Следующий шаг – настроить колонки для связи. По сути мы выбираем внешний ключ в родительской таблице и первичный ключ в дочерней:

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

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

Данные подготовлены, можно создавать шаблон отчета. На бэнд «Данные» перетаскиваем нужные поля из таблицы Customers. Для нашего примера достаточно поля CompanyName. Затем делаем правый клик по бэнду «Данные», и из контекстного меню выбираем Add Detail Data Band.

Таким образом мы добавляем подчиненный бэнд «Данные». Перетягиваем в добавленный бэнд нужные поля из таблицы Orders.

Добавляем детальный бэнд данные.

 

Оформляем шаблон отчета и запускаем отчет в режиме предварительного просмотра:

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

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

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

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

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