Bölgelerle İç içe Mail Merge

Bazı senaryolarda, bölgelerle iç içe Mail Merge kullanmanız gerekebilir. İç içe birleştirme, belgenizi kolayca doldurmak için veri kaynağınızdaki hiyerarşik verileri birleştirme şablonunuzda birleştirmenizi sağlayan bir özelliktir. Temel olarak, hiyerarşik veriler bir dizi veri öğesi olarak temsil edilir ve hiyerarşik ilişkiler, veri öğelerinin birbirleriyle nasıl ilişkili olduğunu açıklar (bir veri öğesi diğerinin üst öğesidir).

Aspose.Words iç içe geçmiş bölgelerle bir Mail Merge işlemi gerçekleştirmenizi sağlar. Ağaç benzeri bir yapı halinde düzenlenmiş bir veri kaynağınız varsa ve bir şablonu hiyerarşik verilerle doldurmak için Mail Merge işlemi yürütmek istiyorsanız bu özelliği kullanabilirsiniz.

İç içe Mail Merge nedir

Birinin hiyerarşik bir biçimde diğerinin içinde olduğu iki veya daha fazla Mail Merge bölgeniz varsa Mail Merge bölgeye iç içe denir. Her bölgenin bir tablodan veri içerdiğini unutmayın.

İç içe geçmiş Mail Merge ‘ın en yaygın örneği, birden çok veri tablosunu bağlamanız ve bilgileri bir şablonda sunmanız gereken birden çok öğe içeren bir sıradır.

Aşağıdaki resim, Order Mail Merge bölgesinin Item Mail Merge bölgesinin üst öğesi olduğu iç içe geçmiş iki bölgeyi göstermektedir.

nested_mail_merge_with_regions

Mail Merge iç İçe Geçmiş Bölgelerle Nasıl İşlenir

Bir şablonda birleştirilecek veriler, başta ilişkisel veritabanları veya XML belgeler olmak üzere çeşitli kaynaklardan gelebilir. Örneğimizde, verilerimizi depolamak ve doğrudan DataSet dosyasına yüklemek için bir XML dosyası kullanacağız.

Aspose.Words DataSet‘de belirtilen veri ilişkilerini kullanarak Mail Merge’yi iç içe geçmiş bölgelerle işlemenizi sağlar. DataSet nesnesi XML yüklendiğinde, bunu başarmak için sağlanan şemayı kullanır veya onu XML ‘ün yapısından çıkarır. Bu yapıdan, gerektiğinde tablolar arasında ilişkiler oluşturur.

Aşağıdaki resim, iç içe geçmiş birleştirme bölgelerine geçirilen Order tablosundaki verilerin, birleştirme işlemi sırasında oluşturulan çıktının yanı sıra Item tablosuna nasıl bağlanacağını göstermektedir.

mail_merge_with_nested_regions

Çıktı belgesinden görebileceğiniz gibi, Order tablosundaki her sipariş, Item tablosundaki tüm siparişin ilgili öğeleriyle birleştirme şablonuna eklenir. Bir sonraki sipariş, tüm siparişler ve öğeler listelenene kadar öğeleriyle birlikte eklenecektir. Mail Merge şablondaki bölgelerle iç içe geçme sırası, veri kaynağındaki tablolar arasındaki veri ilişkileriyle eşleşmelidir.

Aşağıdaki kod örneği, bölgelerle iç içe Mail Merge kullanarak nasıl fatura oluşturulacağını gösterir:

Bölgelerle İç İçe Mail Merge Veri ilişkileri Nasıl Kurulur

İç içe Mail Merge’ı bölgelerle doğru şekilde yürütmek için üst-alt yapıdaki tüm veri ilişkilerini ayarlamanız gerekir. Bu önemli adımın atlanması, iç içe Mail Merge ‘ın bölgelerle yürütülmesinde başarısızlığa neden olabilir.

ReadXml yöntemini kullanarak bir XML dosyasından iç içe geçmiş bir Mail Merge için veri alınırken, ilişkiler XML belgesinin yapısına göre otomatik olarak oluşturulur. Ancak, doğru ilişkilerin oluşturulduğundan emin olmanız gerekir.

Mail Merge beklendiği gibi çalışmıyorsa, XML dosyanızı yeniden yapılandırmanız veya DataSet içindeki DataTable nesneler arasında açıkça ilişkiler oluşturmanız gerekebilir.

İlişkili veri tablolarına sahip bir DataSet, tablolar arasındaki üst-alt ilişkiyi temsil etmek için DataRelation nesnesini kullanır.

Aşağıdaki kod örneği, bir DataRelation nesnesini kullanarak bir müşterinin tablosu ile sipariş tablosu arasında bir DataRelation öğesinin nasıl oluşturulacağını gösterir:

Özel bir veri kaynağından veri ilişkileri oluşturma

Özel veri kaynağınızın üst-alt yapısında ilişkiler oluşturmak için IMailMergeDataSource arabirimini uygulayın. Geçerli bir üst kaydın ilgili alt verilerini döndürmek için GetChildDataSource yöntemini kullanın.

Aşağıdaki örnek, GetChildDataSource kullanarak veri ilişkilerinin nasıl oluşturulacağını gösterir: