Вложени Mail Merge С региони

В някои сценарии може да се наложи да използвате вложени Mail Merge С региони. Вложено обединяване е функция, която ви позволява да обедините йерархични данни от вашия източник на данни във вашия шаблон за обединяване, за да попълните лесно вашия документ. По принцип йерархичните данни се представят като набор от елементи от данни, а йерархичните зависимости описват как елементите от данни са свързани помежду си (един елемент от данни е родител на друг).

Aspose.Words ви позволява да извършите операция Mail Merge с вложени региони. Можете да използвате тази функция, ако имате източник на данни, който е организиран в дървовидна структура и искате да изпълните операция Mail Merge, за да попълните шаблон с йерархични данни.

Какво е вложено Mail Merge

Областта Mail Merge се нарича вложена, ако имате две или повече Mail Merge региони, където един от тях е вътре в другия в йерархична форма. Имайте предвид, че всеки регион съдържа данни от една таблица.

Най-често срещаният пример за вложено Mail Merge е поръчка, която съдържа няколко елемента, където трябва да свържете много таблици с данни и да представите информацията в шаблон.

Снимката по-долу показва два вложени региона, където регионът Order Mail Merge е родител на региона Item Mail Merge.

nested_mail_merge_with_regions

Как да обработваме Mail Merge С вложени региони

Данните, които трябва да бъдат обединени в шаблон, могат да идват от различни източници, главно релационни бази данни или XML документи. В нашия пример ще използваме SQLite база данни за съхранение на нашите данни и да го заредите с потребителски източник на данни изпълнение.

Изображението по-долу показва как данните от таблицата Order, предадени на вложените региони за обединяване, ще бъдат свързани с таблицата Item, както и резултатите, генерирани по време на операцията по сливане.

mail_merge_with_nested_regions

Както можете да видите от изходния документ, всяка поръчка от таблицата Order се вмъква в шаблона за обединяване с всички свързани с поръчката елементи от таблицата Item. Следващата поръчка ще бъде вмъкната заедно с техните артикули, докато не бъдат изброени всички поръчки и артикули. Редът на влагане Mail Merge С региони в шаблона трябва да съответства на релациите от данни между таблиците в източника на данни.

Как да създадете Релации от потребителски източник на данни

Имплементирайте интерфейса IMailMergeDataSource, За да създадете релации в структурата родител-дете на вашия потребителски източник на данни. Използвайте метода GetChildDataSource, за да върнете съответните данни на детето от текущия запис на родител.

Следващият пример за код показва как да генерирате фактура, използвайки вложени Mail Merge с региони от SQLite база данни със SQLiteCpp: