ซ้อนกันMail Mergeกับภูมิภาค

ในบางสถานการณ์คุณอาจต้องใช้พื้นที่ที่ซ้อนกันMail Mergeกับพื้นที่ ผสานซ้อนกันเป็นคุณลักษณะที่ช่วยให้คุณสามารถผสานข้อมูลลำดับชั้นจากแหล่งข้อมูลของคุณ มสัมพันธ์ลำดับชั้นอธิบายวิธีที่รายการข้อมูลที่เกี่ยวข้องกับแต่ละอื่นๆ(รายการหนึ่งของข้อมูล.

Aspose.Wordsอนุญาตให้คุณดำเนินการMail Mergeด้วยพื้นที่ที่ซ้อนกัน คุณสามารถใช้คุณลักษณะนี้หากคุณมีแหล่งข้อมูลที่ถูกจัดระเบียบเป็นโครงสร้างเหมือนต้นไม้และคุณต้องการดำเนินการดำเนินการMail Mergeเพื่อเติมเต็มเทมเพลตด้วยข้อมูลลำดับชั้น.

อะไรคือสิ่งที่ซ้อนกันMail Merge

พื้นที่Mail Mergeถูกเรียกว่าซ้อนกันหากคุณมีพื้นที่Mail Mergeอย่างน้อยสองพื้นที่ขึ้นไปซึ่งพื้นที่หนึ่งอยู่ภายในอีกพื้นที่ โปรดทราบว่าแต่ละภูมิภาคมีข้อมูลจากตารางหนึ่ง.

ตัวอย่างที่พบบ่อยที่สุดของการซ้อนกันMail Mergeคือคำสั่งซื้อที่มีหลายรายการที่คุณจำเป็นต้องเชื่อมโย.

ภาพด้านล่างแสดงสองพื้นที่ที่ซ้อนกันซึ่งพื้นที่OrderMail Mergeเป็นระดับบนของพื้นที่ItemMail Merge.

nested_mail_merge_with_regions

วิธีการประมวลผลMail Mergeด้วยพื้นที่ที่ซ้อนกัน

ข้อมูลที่จะรวมเป็นแม่แบบสามารถมาจากแหล่งต่างๆส่วนใหญ่ฐานข้อมูลเชิงสัมพันธ์หรือเอกสารXML ในตัวอย่างของเรา,เราจะใช้ไฟล์XMLเพื่อเก็บข้อมูลของเราและโหลดโดยตรงในDataSet.

Aspose.Wordsอนุญาตให้คุณประมวลผลMail Mergeด้วยพื้นที่ที่ซ้อนกันโดยใช้ความสัมพันธ์ของข้อมูลที่ระบุในDataSet เมื่อออบเจกต์DataSetโหลดXMLจะใช้สคีมาที่ให้ไว้หรือสรุปจากโครงสร้างของXMLเพื่อทำสิ่งนี้ให้สำเร็จ จากโครงสร้างนี้จะสร้างความสัมพันธ์ระหว่างตารางที่จำเป็น.

รูปภาพด้านล่างแสดงให้เห็นว่าข้อมูลจากตารางOrderส่งผ่านไปยังพื้นที่ผสานที่ซ้อนกันจะเชื่อมโยงกับตารางItemรวมทั้งผลลัพธ์ที่สร้างขึ้นในระหว่างการดำเนินการผสาน.

mail_merge_with_nested_regions

ตามที่คุณสามารถดูจากเอกสารที่ส่งออก,ใบสั่งแต่ละใบจากตารางOrderถูกแทรกลงในแม่แบบผสานเข้ากับรายการที่เกี่ยวข้องของคำสั่งทั้งหมดจากตารางItem. คำสั่งต่อไปจะถูกแทรกพร้อมกับรายการของพวกเขาจนกว่าคำสั่งซื้อทั้งหมดและรายการที่ ลำดับของการทำรังMail Mergeกับพื้นที่ในเทมเพลตต้องตรงกับความสัมพันธ์ของข้อมูลระหว่างตาราง.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างใบแจ้งหนี้โดยใช้พื้นที่ที่ซ้อนกันMail Merge:

วิธีการตั้งค่าความสัมพันธ์ของข้อมูลที่ซ้อนกันMail Mergeกับภูมิภาค

คุณต้องตั้งค่าความสัมพันธ์ข้อมูลทั้งหมดในโครงสร้างหลัก-ย่อยเพื่อดำเนินการ Mail Merge แบบซ้อนกับภูมิภาคอย่างถูกต้อง การข้ามขั้นตอนสำคัญนี้อาจนำไปสู่ความล้มเหลวในการดำเนินการ Mail Merge แบบซ้อนกับภูมิภาค.

เมื่อดึงข้อมูลสำหรับMail Mergeที่ซ้อนกันจากไฟล์XMLโดยใช้วิธีการReadXmlความสัมพันธ์จะถูกสร้างขึ้นโดยอัตโนมัติตามโครงสร้างของเอกสารXML อย่างไรก็ตามคุณต้องแน่ใจว่าความสัมพันธ์ที่ถูกต้องได้ถูกสร้างขึ้น.

ถ้าMail Mergeไม่ทำงานตามที่คาดไว้คุณอาจต้องปรับโครงสร้างไฟล์XMLหรือสร้างความสัมพันธ์ระหว่างDataTableวัตถุในDataSet.

DataSetที่มีตารางข้อมูลที่เกี่ยวข้องจะใช้วัตถุDataRelationเพื่อเป็นตัวแทนของความสัมพันธ์ของพ่อแม่และลูก.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการสร้างDataRelationระหว่างตารางของลูกค้าและตารางของคำสั่งโดยใช้วัตถุDataRelation:

วิธีการสร้างความสัมพันธ์ข้อมูลจากแหล่งข้อมูลที่กำหนดเอง

ใช้อินเทอร์เฟซIMailMergeDataSourceเพื่อสร้างความสัมพันธ์ในโครงสร้างระดับบนและล่างของแหล่งข้อมูลที่กำ ใช้วิธีการGetChildDataSourceเพื่อส่งคืนข้อมูลลูกที่เกี่ยวข้องของระเบียนหลักปัจจุบัน.

ตัวอย่างต่อไปนี้แสดงวิธีสร้างความสัมพันธ์ของข้อมูลโดยใช้GetChildDataSource: