Если в Master-Detail отчете не указана Связь (Relation), то для каждой Master записи будет печататься все Detail записи. Для того чтобы построить Master-Detail отчет, в котором будут печататься только те Detail записи, которые связанных с данной Master записью, необходимо создать Связь (Relation) между источниками данных. Связь (Relation) описывает отношение между источниками данных типа "главный-подчиненный". К примеру, в таблице источника данных Categories в колонке данных CategoriesID может быть одна запись с уникальным именем 1, а в таблице источника данных Products в колонке данных CategoriesID может быть множество записей с этим же уникальным именем 1. На рисунке снизу приведен пример таблиц источника данных:

 

 

 

Как видно из рисунка, одной записи с именем 1 в таблице источника данных Categories соответствует 12 записей в таблице источника данных Products. Другими словами, если создать Связь (Relation) по колонке данных CategoriesID между таблицами данных Categories и Products, то при построении Master-Detail отчета, первой Master записи будет соответствовать 12 записей Detail. На рисунке снизу приведен пример построенного Master-Detail отчета по колонкам CategoreName и ProductName, где Связь (Relation) организована между источниками данных Category и Product по колонкам данных CategoryID:

 

 

 

Параметры связи указываются в окне Новая связь (New Relation). Для того чтобы вызвать данное окно следует выбрать пункт в контекстном меню Новая связь (New Relation) источника данных либо в окне Настройка данных (Data Setup) на вкладке Связь (Relation) нажать кнопку Новая связь (New Relation). На рисунке снизу приведен пример окна Новая связь (New Relation):

 

 

Как видно из рисунка, в данном окне девять полей, в которых определяются параметры связи. Рассмотрим более подробно эти поля:

 

img_1 Поле Наименование в источнике (Name in Source) предоставляет возможность изменить имя в источнике (не в отчете), т.е. имя в оригинальном источнике данных, например, в базе данных;

img_2 Поле Наименование (Name) предоставляет возможность изменить имя связи отображаемое пользователю;

img_3 Поле Псевдоним (Alias) предоставляет возможность изменить псевдоним связи;

img_4 Поле Главный источник данных (Parent DataSource) предоставляет возможность изменить главный источник данных, т.е. выбирается тот источник данных записи из которого будут Master записями в Master-Detail отчете;

img_5 Поле Подчиненный источник данных (Сhild Data Source) предоставляет возможность изменить подчиненный источник данных, т.е. выбирается тот источник данных, записи из которого будут Detail записями в Master-Detail отчете;

img_6 В данном поле отображаются колонки-ключи главного источника данных;

img_7 В данном поле отображаются колонки-ключи подчиненного источника данных;

В полях img_8 - img_9 отображаются главные и подчиненные колонки-ключи данных, по которым устанавливается Связь (Relation) между источниками данных. Колонки-ключи должны соответствовать всем правилам создания связи в ADO.NET:

strel Их должно быть одинаковое количество;

strel Их типы должны совпадать, т.е. если главная колонка-ключ типа String, то и подчиненная колонка-ключ должна быть типа String;

strel И так далее;

 

Панель управления колонками данных в окне Новая связь (New Relation) представлена 4-мя кнопками. На рисунке снизу представлена панель управления колонками данных:

 

 

img_1 Кнопка Перенести все колонки данных из поля img_6 или img_7 в поле img_8 или img_9 соответственно;

img_2 Кнопка Перенести выделенную колонку данных из поля img_6 или img_7 в поле img_8 или img_9 соответственно;

img_3 Кнопка Перенести выделенную колонку данных из поля img_8 или img_9 в поле img_6 или img_7 соответственно;

img_4 Кнопка Перенести все колонки данных из поля img_8 или img_9 в поле img_6 или img_7 соответственно.