logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • О нас
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Как обновить веб отчет FastReport.Core
  • Как использовать объект WebReport в приложениях ASP .NET Core

    17 января 2018 г.

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

    Подробнее
  • Как создать отчет из кода веб-приложения

    16 февраля 2022 г.

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

    Подробнее
  • Как отобразить много отчетов на одной странице в Blazor

    12 июля 2022 г.

    Нередко у наших пользователей появляется необходимость отобразить два отчета с разными данными на одной

    Подробнее
  • Кастомизация панели инструментов и настройка экспортов в FastReport.Web for Core

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

    Нередко у наших пользователей возникают потребности в изменении внешнего вида панели инструментов или настройке меню

    Подробнее
  • Настройка расширенных функций экспорта в FastReport.Web for Core и Blazor Server

    6 декабря 2021 г.

    Нередко у наших пользователей возникают потребности в изменении параметров экспорта файла, реализацию которых мы

    Подробнее

Как обновить веб отчет FastReport.Core

21 сентября 2020 г.

Иногда вам требуется обновлять отчет, например, если вы подаете на вход новое значение переменной, или вообще хотите отобразить другой отчет в том же объекте веб отчета. При этом, как правило обновляется все представление (речь идет о MVC приложениях) по сабмиту. Но гораздо лучше было бы обновлять только объект веб отчета.

1. Update asp.net core report after variable change

https://forum.stimulsoft.com/viewtopic.php?f=13&t=57213

… All this is great and working well. What we cannot figure out is how to refresh the report Variables with this new posted-back data and have the report redraw. Is this done within the Controller and, if so, how do we tell the viewer to refresh (thus getting the new data) or is this done within the View and, if so, what is the correct method to call on the Viewer object. ...

2. How do I refresh a Web Report Viewer After Changing the Report.

https://forum.stimulsoft.com/viewtopic.php?f=13&t=58104

Что из себя представляет объект веб отчета? По сути это html контейнер с набором скриптов, которые позволяют осуществлять навигацию по страницам отчета и вызывать полезные функции, вроде печати и экспорта. А сам веб отчет – это отчет, экспортированный в html. Самым простым способом обновления части страницы будет использование iframe. Мы лишь будем подменять источник фрейма, а он сам получит по url частичное или полное представление с отчетом. Давайте рассмотрим пример, в котором на странице веб приложения выводится выпадающий список и фрейм. При выборе из выпадающего списка названия отчета - загружается объект веб отчета с соответствующим отчетом.

Для начала, в контроллере, нам понадобятся метод, возвращающий представление с объектом веб отчета:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public IActionResult Update(string SelectedItem)
 {
 if (SelectedItem != null)
 {
 WebReport webReport = new WebReport();
 webReport.Report.Load($"App_Data/{SelectedItem}.frx");
 
 var dataSet = new DataSet();
 dataSet.ReadXml("App_Data/nwind.xml");
 webReport.Report.RegisterData(dataSet, "NorthWind");
 
 webReport.Width = "1000";
 webReport.Height = "1000";
 ViewBag.WebReport = webReport;
 } 
 return PartialView();
 } 

Метод имеет входной параметр SelectedItem – имя выбранного отчета.

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

@await ViewBag.WebReport.Render()

Представление для стартовой страницы Index будет выглядеть так:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@{
 ViewData["Title"] = "Home Page";
}
 <div> 
 <select onchange="$('#partialViewDiv').attr('src', '/Home/Update?SelectedItem='+this.value)" id="report">
 <option disabled selected>default</option>
 <option>Lines</option>
 <option>Simple list</option>
 <option>Barcode</option> 
 </select>
 </div>
 <table>
 <tr>
 <td>
 <iframe id="partialViewDiv" width="1000" height="1000"></iframe> 
 </td>
 </tr>
 </table>

Сначала, мы отображаем на форме выпадающий список с тремя доступными отчетами. В обработчике события onclick списка, мы присваиваем фрейму url источника. Сам url содержит путь к веб методу с указанием параметра. Значение параметра берется из выбранного элемента выпадающего списка. Ниже, выводится фрейм.

Запустим приложение. Выбираем из выпадающего списка отчет:

Selecting the web report

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

Updated web report

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

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

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

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

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