Закладки в WebReport

21.10.2013

Начиная с версии FastReport.NET 2013.4, появилась возможность использовать закладки для просмотра нескольких отчетов в WebReport.

WebReport with Tabs

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

В следующей версии FastReport.NET планируется реализация открытия детализированного отчета в отдельной закладке по клику на объекте страницы. Также будет добавлена возможность закрытия ненужных закладок.

Закладки можно добавить непосредственно в коде приложения, например:

WebReport webReport = new WebReport();
webReport.Report.RegisterData(dataSet, "NorthWind");
webReport.Report.Load(report_path + "Simple List.frx");
webReport.CurrentTab.Name = "Simple List";
// tab 2
Report report2 = new Report();
report2.RegisterData(dataSet, "NorthWind");
report2.Load(report_path + "Labels.frx");
webReport.AddTab(report2, "Labels");
// tab 3
Report report3 = new Report();
report3.RegisterData(dataSet, "NorthWind");
report3.Load(report_path + "Master-Detail.frx");
webReport.AddTab(report3, "Master-Detail");
 

Cвойство webReport.CurrentTab позволяет обратиться к активной закладке, например: webReport.CurrentTab.Report. По умолчанию доступна первая закладка. В каждой из закладок доступны свойства: Report – объект отчета, Name – наименование закладки. Если свойство Name не указано, то наименование закладки будет взято из свойств отчета или его имени файла.

Также доступна коллекция закладок webReport.Tabs, которую можно использовать для обращения к закладке по её индексу, например: webReport.Tabs[0].Name.

Метод webReport.AddTab  добавляет новую закладку. Для данного метода доступны следующие варианты вызова:

// добавление объекта отчета report
public ReportTab AddTab(Report report);
// добавление объекта отчета report с именем name
public ReportTab AddTab(Report report, string name);
// добавление объекта отчета report с возможностью указания, что отчет уже построен (reportDone = true)
public ReportTab AddTab(Report report, string name, bool reportDone);
 

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

Пример добавления построенных отчетов:

webReport.Tabs.Clear();
string s = this.Server.MapPath("~/App_Data/Prepared.fpx");
// first
Report firstReport = new Report();
firstReport.LoadPrepared(s);
webReport.AddTab(firstReport, "First tab", true);
// second
Report secondReport = new Report();
secondReport.LoadPrepared(s);
webReport.AddTab(secondReport, "Second tab", true);
 

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

Пример работы закладок в нашем онлайн демо.

Спасибо за внимание!

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.