การกรองการทำซ้ำแบบซ้อน

ใบสมัครของฉันมีเอกสารสำหรับบริษัทและสำหรับลูกค้า นี่เป็นความสัมพันธ์แบบกลุ่มต่อกลุ่ม บริษัทสามารถมีลูกค้าจำนวนเท่าใดก็ได้ และลูกค้าสามารถเป็นลูกค้าของบริษัทหลายแห่งได้ ความสัมพันธ์จะถูกจัดเก็บโดยการสร้างเอกสารตอบกลับไปยังบริษัท โดยมีฟิลด์ที่มี ID ของเอกสารลูกค้า

ฉันต้องการที่จะสามารถแสดงฟิลด์จากเอกสารไคลเอนต์บน XPage ของบริษัท และฉันพยายามทำสิ่งนี้ด้วยการควบคุมซ้ำ ฉันสร้างมุมมองของเอกสารลิงก์ทั้งหมด และใช้สิ่งนั้นเพื่อสร้างการทำซ้ำ โดยกรองด้วย ID เอกสารปัจจุบันเพื่อรวบรวมลิงก์ทั้งหมดที่บริษัทปัจจุบันมี ซึ่งช่วยให้ฉันสามารถแสดงรายการ ID ทั้งหมดของเอกสารลูกค้าที่เกี่ยวข้องกับบริษัทนั้นได้

ฉันได้พยายามหาวิธีส่ง ID นี้ไปยังการควบคุมซ้ำที่ซ้อนอยู่ภายในอันแรก ไม่ว่าจะเพื่อใช้เป็นตัวกรองในมุมมองของเอกสารไคลเอนต์ทั้งหมด หรือเพื่อใช้เป็น ID เอกสารแหล่งข้อมูลโดยตรง เป็นไปได้ไหม? ถ้าไม่ ฉันจะแสดงข้อมูลจากเอกสารลูกค้าบนเพจของบริษัทได้อย่างไร?


person Josh Jolly    schedule 25.07.2012    source แหล่งที่มา


คำตอบ (1)


เมื่อคุณระบุการควบคุมการทำซ้ำ คุณจะระบุตัวแปรที่มีค่าอินสแตนซ์ ชื่อตัวแปรนี้สามารถมองเห็นได้จากทุกสิ่งภายในตัวควบคุมการทำซ้ำ ดังนั้นตัวแปรของคุณจะมี UNID ของเอกสารไคลเอนต์ทีละรายการ เช่น คุณเรียกมันว่า ClientDocID คุณวางแผงไว้ภายในตัวควบคุมการทำซ้ำนั้น พาเนลนั้นสามารถมีแหล่งข้อมูล DominoDocument ของตัวเองได้ แหล่งข้อมูลสามารถมีใหม่ แสดง หรือแก้ไขเป็นการดำเนินการเริ่มต้นได้ คุณเลือก "จอแสดงผล" ซึ่งจำเป็นต้องระบุ DocumentId เลือก "คำนวณ" แล้วใช้ ClientDocID เป็นสูตร

คุณสามารถระงับการเรนเดอร์ HTML สำหรับพาเนลได้ (ตรวจสอบคุณสมบัติ) ดังนั้นมันจะพอดีเช่น ภายใน xp:tr

หวังว่าจะช่วยได้

person stwissel    schedule 26.07.2012
comment
ฉันลองสิ่งนี้:<xp:repeat id="repeat4" rows="30" value="#{TACView}" var="linkData" indexVar="linkIndex"> <xp:panel> <xp:this.data> <xp:dominoDocument var="document2" action="openDocument" documentId="#{javascript:linkData.ProID}" formName="PL"> </xp:dominoDocument> </xp:this.data> โดยไม่มีโชค ฉันทำอะไรผิด - person Josh Jolly; 26.07.2012
comment
ฉันสามารถแสดง ID ของเอกสารที่ฉันต้องการเปิดภายในแผงได้ และสามารถเข้าถึงข้อมูลในนั้นได้โดยใส่ ID ลงในช่องคำนวณที่เรียกว่า test และใช้สิ่งต่างๆ เช่น: database.getDocumentByUNID(getComponent("test").getValue()).getItemValueString("PL_Phone") แต่ดูเหมือนว่าจะเป็นวิธีแก้ปัญหาที่ยุ่งยากใช่ไหม - person Josh Jolly; 26.07.2012
comment
Linkdata เป็นประเภทใด? Xspviewentry? จากนั้นเลือกวิธีที่ถูกต้องสำหรับ unid และคุณสามารถใช้ document2.pl-phone ได้ UI ควรเสนอชื่อฟิลด์ให้กับคุณจริงๆ - person stwissel; 27.07.2012
comment
สูญเสียคำนำหน้าจาวาสคริปต์ในการผูก documentId ของคุณ และตั้งค่า allowanceRequestParams เป็นจริง - person Tim Tripcony; 22.08.2012