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

    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

    Подробнее

Как передать строку подключения в веб отчет FastReport .NET

2 мая 2020 г.

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

Рассмотрим на примере ASP .NET Core приложения. Напоминаю, наша задача передать из клиентской части строку подключения в отчет. Это можно реализовать двумя способами: передать параметр в отчет и в скрипте отчета переопределить строку подключения, либо переопределить строку подключения непосредственно в контроллере веб приложения. Второй способ более рациональный. Его я и продемонстрирую.

В контроллере воспользуемся методом Index. Именно в нем мы создадим объект отчета и назначим новую строку подключения. Поэтому, метод будет принимать параметр – строку подключения.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class HomeController : Controller
 {
 public IActionResult Index(string connstring)
 {
 WebReport webReport = new WebReport();
 if (connstring is null)
 {
 webReport.Report.Load("reports/Empty.frx");
 }
 else
 {
 webReport.Report.Load("reports/Master-Detail.frx");
 webReport.Report.Dictionary.Connections[0].ConnectionString = connstring;
 }
 ViewBag.WebReport = webReport;
 return View();
 }
}

Метод Index принимает параметр connstring, который изначально при запуске равен null. Чтобы объект веб отчета не сыпал ошибками при отображении страницы, нужно загрузить в него шаблон отчета. Так как строка подключения еще не известна, то пусть это будет пустой шаблон. В случае, когда строка подключения задана, мы загружаем нужный шаблон отчета и переопределяем в нем строку подключения. Все очень просто.

Если шаблон отчета изначально не имеет подключения к источнику данных, то можно добавить его. Вот пример для подключения к СУБД MSSQL:           

1
2
3
4
5
6
RegisteredObjects.AddConnection(typeof(MsSqlDataConnection));
 MsSqlDataConnection sqlConnection = new MsSqlDataConnection();
 sqlConnection.ConnectionString = connstring;
 sqlConnection.CreateAllTables();
 webReport.Report.Dictionary.Connections.Add(sqlConnection);
 webReport.Report.Load("reports/CoreMSSQL.frx");

У метода Index должно быть соответствующее представление. Добавим в него следующий код:

1
2
3
4
5
6
7
8
@{
 ViewData["Title"] = "Home Page";
}
<form asp-controller="Home" asp-action="Index" method="post">
 <input type="text" name="connstring">
 <input type="submit" value="Click">
</form> 
@await ViewBag.WebReport.Render()

Здесь мы использовали форму, которая ссылается на метод Index. В ней есть текстовое поле с именем connstring и кнопка. Содержимое текстовое поля будет передаваться методу в качестве параметра.

А теперь посмотрим, что у нас получилось:

Изначально строка подключения не задана, поэтому загрузился пустой шаблон отчета. Попробуем ввести строку подключения к xml базе данных:

«XsdFile=;XmlFile=C:\\Users\\Dimon\\source\\repos\\PassConnectionstring\\PassConnectionstring\\reports\\nwind.xml»

И получаем отчет:

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

О продукте Скачать Купить
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 ООО «Фаст Репортс»

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