Annidato Mail Merge con regioni
In alcuni scenari, potrebbe essere necessario utilizzare nidificato mail merge con le regioni. L’unione nidificata è una funzionalità che consente di unire i dati gerarchici dall’origine dati al modello di unione per popolare facilmente il documento. Fondamentalmente, i dati gerarchici sono rappresentati come un insieme di elementi di dati e le relazioni gerarchiche descrivono come gli elementi di dati sono correlati tra loro (un elemento di dati è il genitore di un altro).
Aspose.Words consente di eseguire un’operazione mail merge con regioni annidate. È possibile utilizzare questa funzione se si dispone di un’origine dati organizzata in una struttura ad albero e si desidera eseguire un’operazione mail merge per popolare un modello con dati gerarchici.
Che cos’è un Mail Mergenidificato
La regione mail merge viene chiamata nidificata se si hanno due o più regioni mail merge in cui una di esse si trova all’interno dell’altra in una forma gerarchica. Si noti che ogni regione contiene dati da una tabella.
L’esempio più comune di un mail merge annidato è un ordine che contiene alcuni elementi in cui è necessario collegare molte tabelle di dati e presentare le informazioni in un modello.
L’immagine seguente mostra due regioni nidificate in cui la regione Order mail merge è la genitore della regione Item mail merge.
Come elaborare Mail Merge con le regioni nidificate
I dati da unire in un modello possono provenire da varie fonti, principalmente database relazionali o documenti XML. Nel nostro esempio, useremo un SQLite database per memorizzare i nostri dati e caricarli con implementazione di origine dati personalizzata.
L’immagine seguente mostra come i dati della tabella Order passati alle regioni di unione nidificate saranno collegati alla tabella Item, nonché l’output generato durante l’operazione di unione.
Come si può vedere dal documento di output, ogni ordine dalla tabella Order viene inserito nel modello di unione con tutti gli elementi correlati dell’ordine dalla tabella Item. Il prossimo ordine verrà inserito insieme ai loro articoli fino a quando tutti gli ordini e gli articoli saranno elencati. L’ordine di nidificazione mail merge con le regioni nel modello deve corrispondere alle relazioni di dati tra le tabelle nell’origine dati.
Come creare relazioni dati da un’origine dati personalizzata
Implementare l’interfaccia IMailMergeDataSource per creare relazioni nella struttura padre-figlio dell’origine dati personalizzata. Utilizzare il metodo GetChildDataSource per restituire i dati figlio rilevanti di un record padre corrente.
Nell’esempio di codice seguente viene illustrato come generare una fattura utilizzando nidificato mail merge con regioni da SQLite database con SQLiteCpp: