ซ้อนกันMail Mergeกับภูมิภาค
ในบางสถานการณ์คุณอาจต้องใช้พื้นที่ที่ซ้อนกันMail Mergeกับพื้นที่ ผสานซ้อนกันเป็นคุณลักษณะที่ช่วยให้คุณสามารถผสานข้อมูลลำดับชั้นจากแหล่งข้อมูลของคุณ มสัมพันธ์ลำดับชั้นอธิบายวิธีที่รายการข้อมูลที่เกี่ยวข้องกับแต่ละอื่นๆ(รายการหนึ่งของข้อมูล.
Aspose.Wordsอนุญาตให้คุณดำเนินการMail Mergeด้วยพื้นที่ที่ซ้อนกัน คุณสามารถใช้คุณลักษณะนี้หากคุณมีแหล่งข้อมูลที่ถูกจัดระเบียบเป็นโครงสร้างเหมือนต้นไม้และคุณต้องการดำเนินการดำเนินการMail Mergeเพื่อเติมเต็มเทมเพลตด้วยข้อมูลลำดับชั้น.
อะไรคือสิ่งที่ซ้อนกันMail Merge
พื้นที่Mail Mergeถูกเรียกว่าซ้อนกันหากคุณมีพื้นที่Mail Mergeอย่างน้อยสองพื้นที่ขึ้นไปซึ่งพื้นที่หนึ่งอยู่ภายในอีกพื้นที่ โปรดทราบว่าแต่ละภูมิภาคมีข้อมูลจากตารางหนึ่ง.
ตัวอย่างที่พบบ่อยที่สุดของการซ้อนกันMail Mergeคือคำสั่งซื้อที่มีหลายรายการที่คุณจำเป็นต้องเชื่อมโย.
ภาพด้านล่างแสดงสองพื้นที่ที่ซ้อนกันซึ่งพื้นที่OrderMail Mergeเป็นระดับบนของพื้นที่ItemMail Merge.
วิธีการประมวลผลMail Mergeด้วยพื้นที่ที่ซ้อนกัน
ข้อมูลที่จะรวมเป็นแม่แบบสามารถมาจากแหล่งต่างๆส่วนใหญ่ฐานข้อมูลเชิงสัมพันธ์หรือเอกสารXML ในตัวอย่างของเรา,เราจะใช้ไฟล์XMLเพื่อเก็บข้อมูลของเราและโหลดโดยตรงในDataSet.
Aspose.Wordsอนุญาตให้คุณประมวลผลMail Mergeด้วยพื้นที่ที่ซ้อนกันโดยใช้ความสัมพันธ์ของข้อมูลที่ระบุในDataSet เมื่อออบเจกต์DataSetโหลดXMLจะใช้สคีมาที่ให้ไว้หรือสรุปจากโครงสร้างของXMLเพื่อทำสิ่งนี้ให้สำเร็จ จากโครงสร้างนี้จะสร้างความสัมพันธ์ระหว่างตารางที่จำเป็น.
รูปภาพด้านล่างแสดงให้เห็นว่าข้อมูลจากตารางOrderส่งผ่านไปยังพื้นที่ผสานที่ซ้อนกันจะเชื่อมโยงกับตารางItemรวมทั้งผลลัพธ์ที่สร้างขึ้นในระหว่างการดำเนินการผสาน.
ตามที่คุณสามารถดูจากเอกสารที่ส่งออก,ใบสั่งแต่ละใบจากตาราง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
:
dataSet.getRelations().add(new DataRelation("OrderToItem", orderTable.getColumns().get("Order_Id"), itemTable.getColumns().get("Order_Id"), false));