Формирование закладок при помощи кода

<< Click to Display Table of Contents >>

Navigation:  Проект > Документы объектов > Генератор отчетов > Проектирование отчетов > Взаимодействие и интерактивные отчеты > Закладки >

Формирование закладок при помощи кода

 

При помощи свойства Interaction.Bookmark можно сформировать достаточно сложную структуру закладок в отчете. Однако часто возможностей предоставляемых этим свойств оказывается недостаточно. К примеру, может понадобиться добавить в дерево закладок свои узлы без использования свойства Interaction.Bookmark. Или закладку необходимо расположить в другом уровне вложенности. Для этих целей MasterReport предоставляет свойство Interaction.Bookmark отчета. Это невидимое свойство отчета и оно доступно только из кода. Использовать это свойство достаточно просто. К примеру, для того чтобы добавить закладку первого уровня вложенности можно использовать такой код:

 

 

Bookmark.Add("My Bookmark");

 

 

Этот код создаст такую закладку в дереве закладок:

 

 

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

 

 

Bookmark["My Bookmark"].Add("Bookmark Level2");

 

 

 

Соответственно для третьего уровня:

 

 

Bookmark["My Bookmark"]["Level2"].Add("Bookmark Level3");

 

 

 

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

 

 

Bookmark.Add(Customers.CompanyName);

 

 

Соответственно у компонента свойство Interaction.Bookmark заполняем так:

 

 

{Customers.CompanyName}

 

 

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