Vnořené Mail Merge s regiony
V některých scénářích možná budete muset použít vnořené Mail Merge s regiony. Vnořené sloučení je funkce, která umožňuje sloučit hierarchická data ze zdroje dat do šablony sloučení a snadno naplnit dokument. Hierarchická data jsou v zásadě reprezentována jako sada datových položek a hierarchické vztahy popisují, jak jsou datové položky vzájemně propojeny (jedna položka dat je rodičem jiné).
Aspose.Words umožňuje provádět operaci Mail Merge s vnořenými oblastmi. Tuto funkci můžete použít, pokud máte zdroj dat, který je uspořádán do stromové struktury a chcete provést operaci Mail Merge k naplnění šablony hierarchickými daty.
Co je vnořené Mail Merge
Oblast Mail Merge se nazývá vnořená, pokud máte dvě nebo více oblastí Mail Merge, kde jedna z nich je uvnitř druhé v hierarchické podobě. Všimněte si, že každá oblast obsahuje data z jedné tabulky.
Nejběžnějším příkladem vnořeného Mail Merge je objednávka, která obsahuje několik položek, kde je třeba propojit mnoho datových tabulek a prezentovat informace v šabloně.
Obrázek níže ukazuje dvě vnořené oblasti, kde oblast Order Mail Merge je rodičem oblasti Item Mail Merge.
Jak zpracovat Mail Merge s vnořenými oblastmi
Data, která mají být sloučena do šablony, mohou pocházet z různých zdrojů, zejména relačních databází nebo XML dokumentů. V našem příkladu použijeme SQLite databáze pro uložení našich dat a jejich načtení s implementací vlastního zdroje dat.
Obrázek níže ukazuje, jak budou data z tabulky Order předaná vnořeným regionům sloučení propojena s tabulkou Item a také výstup generovaný během operace sloučení.
Jak můžete vidět z výstupního dokumentu, Každá objednávka z tabulky Order je vložena do šablony sloučení se všemi souvisejícími položkami objednávky z tabulky Item. Další objednávka bude vložena spolu s jejich položkami, dokud nebudou uvedeny všechny objednávky a položky. Pořadí vnoření Mail Merge s regiony v šabloně musí odpovídat datovým vztahům mezi tabulkami ve zdroji dat.
Jak vytvořit datové relace z vlastního zdroje dat
Implementujte rozhraní IMailMergeDataSource a vytvořte vztahy ve struktuře rodič-dítě vlastního zdroje dat. Použijte metodu GetChildDataSource k vrácení příslušných podřízených dat aktuálního nadřazeného záznamu.
Následující příklad kódu ukazuje, jak vygenerovat fakturu pomocí vnořeného Mail Merge s regiony z SQLite databáze s SQLiteCpp: