YouTube

 

Посмотрите наши видеоуроки по детализирующим отчетам с использованием другой страницы и с использованием внешнего отчета. Подписывайтесь на канал Stimulsoft и узнайте первыми о новых видеоуроках. Вопросы и предложения оставляйте в комментариях к видео.

 

 

 

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

 

 

 

Как видно из рисунка, отчет А можно расшифровать как отчеты В1 и В2. Это детализация первого уровня. Отчеты В1 и В2, в свою очередь, имеют детализацию в виде отчетов С1,С2,С3 и С4. Это детализация второго уровня. Рассмотрим создание интерактивных отчетов с детализацией более подробно.

 

 

Интерактивный отчет с использованием страницы

 

Детализированный отчет с использованием страницы в отчете подразумевает под собой интерактивный отчет, в котором детализация осуществляется с использованием другой страницы этого же шаблона отчета. Для того, чтобы создать такой отчет, следует вызвать редактор взаимодействий и на вкладке Детализация установить флажок Включить детализацию (Drill-Down Enable) у компонента, который будет детализирован. Такженеобходи выбрать страницу с детальными данными. Рассмотрим пример создания Drill-Down отчета с использованием страницы. На первой странице шаблона отчета следует разместить бэнд Данные и текстовый компонент на нем, указать источник данных Shippers у данного бэнда. В текстовом компоненте укажем выражения {Shippers.ShipperID} и {Shippers.CompanyName}. На второй странице отчета разместим бэнд Данные и текстовые компоненты на нем, выберем источник данных Orders у данного бэнда. В текстовых компонентах укажем выражения: {Orders.ShipVia}, {Orders.ShipName} и {Orders.ShipCountry} соответственно. На рисунке снизу представлены две страницы шаблона отчета:

 

 

 

Также, на странице с детальными данными, добавим бэнд Заголовок данных (Header Band). Далее, следует выделить текстовый компонент с выражениями {Shippers.ShipperID} и {Shippers.CompanyName} и установить флажок параметра Включить детализацию. Также стоит выбрать страницу с детальными данными. В данном случае, это Страница4 (Page4). На рисунке снизу представлено окно выбора страницы детализации:  

 

 

 

Также, следует указать Параметры детализации (Drill-Down Parameters), если это необходимо. В каждом параметре необходимо изменить значение следующих свойств: Имя (Name) и Выражение (Expression). В данном случае, укажем один параметр детализации с именем ShipperID и выражением Shippers.ShipperID. На бэнде Данные, который будет содержать детальные данные, установим фильтрацию данных. Для этого, добавим фильтр и укажем выражение фильтрации: (int)this["ShipperID"] == Orders.ShipVia. После этого, следует построить отчет. На рисунке снизу представлена страница построенного отчета:

 

 

 

Как видно из рисунка, будет построена страница шаблона с главными данными. Для того, чтобы отобразить детальные данные, следует щелкнуть по построенному текстовому компоненту. После нажатия, генератор отчетов, учитывая Drill-Down параметры и фильтрацию на бэнде Данные, построит вторую страницу шаблона отчета. На рисунке снизу схематично представлена детализация отчета:

 

 

 

Интерактивный отчет с использованием другого отчета

 

Детализированный отчет с использованием другого (внешнего) отчета подразумевает под собой интерактивный отчет, в котором главные и детальные данные располагаются в разных отчетах. Создать такой отчет можно редакторе взаимодейтсвий, указав путь к внешнему отчету с детальными данными. Рассмотрим пример создания Drill-Down отчета с использованием внешнего отчета. Для начала, создадим отчет с детальными данными. Этот отчет будет содержать список продуктов и их цены. Разместим на странице шаблона отчета бэнд Данные с текстовыми компонентами, содержащими выражения Products.ProductID, Products.ProductName и Products.UnitPrice. Для данного бэнда следует выбрать источник данных Products. Также добавим бэнд Заголовок данных (Header Band). На рисунке снизу представлена страница шаблона с детальными данными:

 

 

 

Добавим, на бэнд Данные фильтр с выражением (int)this["CategoryID"]  == Products.CategoryID. После этого, следует сохранить шаблон отчета. К примеру сохраним данный отчет по следующему пути: D:\\Products.mrt. Теперь создадим отчет, который будет содержать главные данные, в этом примере, названия категорий. Разместим на странице шаблона бэнд Данные с текстовым компонентом, который будет содержать выражение Categories.CategoryName. Для данного бэнда следует выбрать источник данных Categories. На рисунке снизу представлена страница шаблона отчета с главными данными:

 

 

 

Далее, следует выделить текстовый компонент, в редакторе взаимодействий на вкладке Детализация установить флажок Включить детализацию и указать путь к отчету с детальными данными:

 

 

 

Также, следует указать Параметры детализации (Drill-Down Parameters). В каждом параметре необходимо изменить значение следующих свойств: Имя (Name) и Выражение (Expression). В данном случае, укажем один параметр детализации с именем CategoryID и выражением Categories.CategoryID. После этого, следует построить отчет. На рисунке снизу представлена страница построенного отчета:

 

 

 

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