Drill-Down отчет с использованием страницы в отчете

 

Для лучшего понимания данного урока рекомендуется просмотр данного видео файла.

 

Drill-Down отчет с использованием страницы в отчете подразумевает под собой интерактивный отчет, в котором детальные данные располагаются на странице отчета и связь между главными и детальными данными в отчете организована с помощью свойства Взаимодействие.Страница детализации (Interaction.Drill-Down Page). Данный тип отчета должен содержать как минимум две страницы: одну с основными данными, другую - с детальными. Для того чтобы построить отчет со списком, необходимо выполнить следующие шаги:

 

1.Запустить дизайнер;
2.Подключить данные:

2.1. Создать Новое соединение (New Connection);

2.2. Создать Новый источник данных (New Data Source);

 

3.Разместить бэнд Данные (DataBand1) на Странице (Page1) отчета и бэнд Данные (DataBand2) на Странице (Page2) отчета. В данном случае, главные данные будут расположены на первой странице, а детальные - на второй странице. На рисунке снизу показано размещение бэнда Данные (DataBand) на страницах шаблона отчета:

 

 

4.Произвести редактирование бэндов Данные (DataBand):

4.1. выровнять по высоте бэнды Данные (DataBand);

4.2. Изменить значения свойств у бэндов Данные (DataBand). К примеру, у бэнда Данные (DataBand1) установить свойство Печатать если нет детальных данных (Print if Detail Empty) в значение истина (true), если необходимо чтобы бэнд Данные (DataBand1) печатался при отсутствии данных. У бэнда Данные (DataBand2) установить свойство Может разрываться (Can Break) в значение истина (true), если необходимо чтобы бэнд Данные (DataBand2) разрывался;

4.3. Изменить фон у бэндов Данные (DataBand);

4.4. При необходимости, включить Границы (Borders) бэндов Данные (DataBand);

4.5. Изменить цвет границы.

 

5.Указать источник данных у бэндов Данные (DataBand) используя свойство Источник данных (Data Source):

 

 

6.На бэндах Данные (DataBand) следует расположить текстовые компоненты с выражениями. Где выражение - это ссылка на источник данных. Например, на бэнде Данные (DataBand1)разместим текстовый компонент с выражением: {Categories.CategoryName}, а на бэнде Данные (DataBand2) разместим два текстовых компонента с выражениями: {Products.ProductName} и {Products.UnitPrice};
7.Произвести редактирование Текста (Text)  и Текстовых компонентов (TextBox):

7.1. Перетащить текстовые компоненты в нужное место на бэндах Данные (DataBand);

7.2. Изменить параметры шрифта текста: размер, стиль, цвет;

7.3. выровнять текстовый компонент по высоте и ширине;

7.4. Изменить фон текстового компонента;

7.5. выровнять текст в текстовом компоненте;

7.6. Изменить значение свойств текстового компонента. К примеру установить свойство Перенос текста (Word Wrap) в значение истина (true), если необходимо чтобы текст переносился;

7.7. При необходимости, включить Границы (Borders) текстового компонента.

7.8. Изменить цвет границы.

На рисунке снизу представлен шаблон отчета с текстовыми компонента на бэндах Данные (DataBand):

 

 

8.Выделить текстовый компонент на бэнде Данные (DataBand1);
9.Установить свойство Взаимодействие.Детализация включена (Interaction.Drill-Down Enabled) в значение истина (true);
10. Установить свойство Взаимодействие.Страница детализации (Interaction.Drill-Down Page) в значение Page2;
11. Изменить Параметры детализации (Drill-Down Parameter 1) у текстового компонента на бэнде Данные (DataBand 1):

11.1. Свойство Наименование (Name) следует установить в значение СategoryID;

11.2. Свойство Выражение (Expression) следует установить в значение Categories.CategoryID;

12. Задать фильтрацию на бэнде Данные (DataBand2), в данном случае, укажем выражение (int)this["CategoryID"]  == Products.CategoryID;
13. Нажать на кнопку Просмотр (Preview) или вызвать окно Вьювера (Viewer), используя пункт меню Просмотр (Preview). После построения отчета, все ссылки на поля данных будут заменены данными из указанных полей. При чем данные будут браться последовательно из источника данных, который был указан для данного бэнда. Количество копий бэнда Данные (Data) в построенном отчете будет равно количеству строк в источнике данных. Генератор отчетов построит отчет, но пользователю будет отображена страница с главными данными. На рисунке снизу показана построенная страница отчет с главными данными:

 

 

При нажатии на ссылку (к примеру запись Beverages), пользователю будут отображены детальные данные, которые соответствуют условию фильтрации и параметрам детализации. На рисунке снизу показана страница построенного отчета с детальными данными записи Beverages:

 

 

14. Вернуться к шаблону отчета;
15. Добавить в шаблон отчета иные бэнды, к примеру, бэнд Заголовок данных (HeaderBand) добавим на Страницу (Page2) отчета;
16. Произвести редактирование добавленного бэнда:

16.1. выровнять по высоте бэнд Заголовок данных (HeaderBand);

16.2. Изменить значение свойств бэнда Заголовок данных (HeaderBand), если это необходимо;

16.3. Изменить фон бэнда Заголовок данных (HeaderBand);

16.4. При необходимости, включить Границы (Borders);

16.5. Изменить цвет границы.

На рисунке снизу показан шаблон отчета с бэндом Заголовок данных (HeaderBand):

 

 

17. Расположить на данных бэндах текстовые компоненты с выражениями. Где выражения в текстовых компонентах на бэнде Заголовок данных (HeaderBand) будут являться заголовками отчета;
18. Произвести редактирование текста и текстовых компонентов:

18.1. Перетащить текстовый компонент в нужное место на бэнде;

18.2. Изменить параметры шрифта: размер, стиль, цвет;

18.3. выровнять текстовый компонент по высоте и ширине;

18.4. Изменить фон текстового компонента;

18.5. выровнять текст в текстовом компоненте;

18.6. Изменить значение свойств текстового компонента, если это необходимо;

18.7. При необходимости, включить Границы (Borders) текстового компонента;

18.8. Изменить цвет границы.

На рисунке снизу показан отредактированный шаблон отчета с бэндом Заголовок данных (HeaderBand):

 

 

19. Нажать на кнопку Просмотр (Preview) или вызвать окно Вьювера (Viewer), используя пункт меню Просмотр (Preview). После построения отчета, все ссылки на источники данных будут заменены данными из указанных полей. При чем данные будут браться последовательно из источника данных, который был указан для данного бэнда. Количество копий бэнда Данные (Data) в построенном отчете будет равно количеству строк в источнике данных. На рисунке снизу схематично показана структура построенного отчета, т.е. показано отношение детальных данных к главной записи Condiments:

 

 

 

Добавление стилей

 

1.Вернуться к шаблону отчета;
2.Выделить бэнд Данные (DataBand2);
3.Изменить значения свойств Стиль четных строк (Even style) и Стиль нечетных строк (Odd style). Если значения данных свойств отсутствуют, то необходимо выбрать пункт Редактировать стили (Edit Styles) в списке значений данных свойств и при помощи Редактора Стилей (Styles Designer) создать новый стиль. На рисунке снизу приведен пример окна Редактора стилей (Styles Designer):

 

 

Для начала работы в редакторе стилей, необходимо нажать кнопку Добавить стиль (Add Style) и в отобразившемся меню выбрать элемент отчета, для которого будет создаваться стиль: Компонент (Component), Диаграмма (Chart) или Кросс-таблица (Cross-Tab). В данном случае, это Компонент (Component). Для того чтобы изменить фон строки следует изменить значение свойства Brush.Color, где значение данного свойства и есть цвет фона строки. На рисунке снизу приведен пример окна Редактор Стилей (Style Designer) с списком значений свойства Brush.Color:

 

 

После того как значение свойства определено следует нажать кнопку Закрыть (Close). После этого в списке значений свойств Стиль четных строк (Even style) и Стиль нечетных строк (Odd style) появится новое значение, т.е. новый стиль четных и/или нечетных строк соответственно.

 

4.Построить отчет нажав на вкладку Просмотр (Preview) либо вызвать Вьювер (Viewer) используя пункт меню Просмотр (Preview). На рисунке снизу схематично показана структура построенного отчета, т.е. показано отношение детальных данных к главной записи Confections с различными стилями четных/нечетных строк у бэнда Данные (DataBand2):