สร้างแกลเลอรีรายละเอียดในแอปพื้นที่ทำงาน
ทำตามคำแนะนำทีละขั้นตอนเพื่อสร้างแกลเลอรีรายละเอียดในแอปพื้นที่ทำงาน สำหรับการจัดการข้อมูลที่สมมติขึ้นในฐานข้อมูล Northwind Traders หัวข้อนี้เป็นส่วนหนึ่งของชุดข้อมูลที่อธิบายวิธีสร้างแอปทางธุรกิจโดยใช้ข้อมูลเชิงสัมพันธ์ใน Microsoft Dataverse เพื่อผลลัพธ์ที่ดีที่สุด สำรวจหัวข้อเหล่านี้ตามลำดับนี้:
- สร้างแกลเลอรีใบสั่ง
- สร้างฟอร์มสรุป
- สร้างแกลเลอรีรายละเอียด ( หัวข้อนี้)
ข้อกำหนดเบื้องต้น
ก่อนที่คุณจะเริ่มหัวข้อนี้ คุณต้องติดตั้งฐานข้อมูลตามที่อธิบายไว้ก่อนหน้าในหัวข้อนี้ จากนั้นคุณจะต้องสร้างแกลเลอรีใบสั่ง และฟอร์มสรุป หรือเปิดแอป Northwind Orders (พื้นที่ทำงาน) - เริ่มต้นส่วนที่ 3 ซึ่งมีแกลเลอรีและฟอร์มนั้นอยู่แล้ว
สร้างแถบชื่อเรื่องอื่น
ที่ด้านบนของหน้าจอ ให้เลือกตัวควบคุม ป้ายชื่อ ที่ทำหน้าที่เป็นแถบชื่อเรื่อง คัดลอกโดยกด Ctrl-C แล้ววางโดยกด Ctrl-V:
ปรับขนาดและย้ายสำเนาเพื่อให้ปรากฏใต้ฟอร์มสรุป
เอาข้อความออกจากสำเนาด้วยวิธีใดวิธีหนึ่งต่อไปนี้:
- คลิกสองครั้งที่ข้อความเพื่อเลือก แล้วกดลบ
- ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อเป็นสตริงว่าง ("")
เพิ่มแกลเลอรี
แทรกตัวควบคุม แกลเลอรี ด้วยเค้าโครง ว่างแนวตั้ง
แกลเลอรีใหม่ ซึ่งจะแสดงรายละเอียดใบสั่ง จะปรากฏขึ้นที่มุมบนซ้าย
ปิดกล่องโต้ตอบแหล่งข้อมูลแบบลอย จากนั้นปรับขนาดและย้ายแกลเลอรีรายละเอียดไปที่มุมล่างขวา ใต้แถบชื่อเรื่องใหม่:
ตั้งค่าคุณสมบัติ รายการ ของแกลเลอรีรายละเอียดเป็นสูตรนี้:
Gallery1.Selected.'Order Details'
หากมีข้อผิดพลาดปรากฏขึ้น ให้ยืนยันว่าชื่อแกลเลอรีใบสั่งนั้นชื่อ Gallery1 (ในบานหน้าต่าง มุมมองทรี ใกล้กับขอบด้านซ้าย) หากแกลเลอรีนั้นมีชื่ออื่น ให้เปลี่ยนชื่อเป็น Gallery1
คุณเพิ่งเชื่อมโยงแกลเลอรีสองแห่ง เมื่อผู้ใช้เลือกคำสั่งซื้อในแกลเลอรีใบสั่ง การเลือกนั้นจะระบุเรกคอร์ดในตาราง ใบสั่ง หากใบสั่งนั้นมีรายการตั้งแต่หนึ่งรายการขึ้นไป เรกคอร์ดในตาราง ใบสั่ง ถูกเชื่อมโยงกับเรกคอร์ดอย่างน้อยหนึ่งรายการในตาราง รายละเอียดใบสั่ง และข้อมูลจากเรกคอร์ดเหล่านั้นจะปรากฏในแกลเลอรีรายละเอียด ลักษณะการทำงานนี้สะท้อนถึงความสัมพันธ์แบบหนึ่งต่อกลุ่มที่สร้างขึ้นสำหรับคุณระหว่างตาราง ใบสั่ง และ รายละเอียดใบสั่ง สูตรที่คุณระบุ "เดิน" ความสัมพันธ์นั้น โดยใช้เครื่องหมายจุด:
แสดงชื่อของผลิตภัณฑ์
ในแกลเลอรีรายละเอียด เลือก เพิ่มรายการจากแท็บแทรก เพื่อเลือกเทมเพลตของแกลเลอรี:
ตรวจสอบให้แน่ใจว่าคุณได้เลือกเทมเพลตของแกลเลอรีแทนแกลเลอรีเอง กล่องแสดงขอบเขตควรอยู่ในขอบเขตของแกลเลอรีเล็กน้อย และอาจสั้นกว่าความสูงของแกลเลอรี เมื่อคุณแทรกตัวควบคุมลงในเทมเพลตนี้ จะมีการทำซ้ำสำหรับแต่ละรายการในแกลเลอรี
บนแท็บ แทรก ให้ใส่ป้ายชื่อลงในแกลเลอรีรายละเอียด
ป้ายชื่อควรปรากฏภายในแกลเลอรี ถ้าไม่ ลองอีกครั้ง แต่ให้แน่ใจว่าได้เลือกเทมเพลตของแกลเลอรีก่อนที่คุณจะแทรกป้ายชื่อ
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้เป็นสูตรนี้:
ThisItem.Product.'Product Name'
หากไม่มีข้อความปรากฏขึ้น ให้เลือกลูกศรสำหรับ ใบสั่ง 0901 ใกล้กับด้านล่างของแกลเลอรีใบสั่ง
ปรับขนาดป้ายชื่อเพื่อให้ข้อความแบบเต็มปรากฏขึ้น:
นิพจน์นี้เริ่มจากเรกคอร์ดในตาราง รายละเอียดใบสั่ง เรกคอร์ดนี้จัดขึ้นใน ThisItem ไปที่ตาราง ผลิตภัณฑ์ในใบสั่ง ผ่านความสัมพันธ์แบบกลุ่มต่อหนึ่ง:
คอลัมน์ ชื่อผลิตภัณฑ์ (และคอลัมน์อื่นๆ ที่คุณกำลังจะใช้) จะถูกแยกออก:
แสดงรูปภาพของผลิตภัณฑ์
บนแท็บ แทรก แทรกตัวควบคุม รูปภาพ ลงในแกลเลอรีรายละเอียด
ปรับขนาดและย้ายรูปภาพและป้ายชื่อให้อยู่ข้างกัน
เคล็ดลับ
สำหรับการควบคุมขนาดและตำแหน่งของตัวควบคุมอย่างละเอียด ให้เริ่มต้นการปรับขนาดหรือย้ายโดยไม่ต้องกดปุ่ม Alt แล้วปรับขนาดหรือย้ายตัวควบคุมต่อไปในขณะที่คุณกดปุ่ม Alt ค้างไว้:
ตั้งค่าคุณสมบัติ รูปภาพ ของรูปภาพให้สูตรนี้:
ThisItem.Product.Picture
อีกครั้ง นิพจน์อ้างอิงถึงผลิตภัณฑ์ที่เกี่ยวข้องกับรายละเอียดใบสั่งนี้ และการแยกฟิลด์ รูปภาพ ที่จะแสดง
ลดความสูงของเทมเพลตของแกลเลอรีเพื่อให้มากกว่าหนึ่งเรกคอร์ด รายละเอียดใบสั่ง ปรากฏขึ้น:
แสดงปริมาณและค่าใช้จ่ายผลิตภัณฑ์
บนแท็บ แทรก แทรกป้ายชื่ออื่นลงในแกลเลอรีรายละเอียด จากนั้นปรับขนาดและย้ายป้ายชื่อใหม่ไปทางด้านขวาของข้อมูลผลิตภัณฑ์
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้นิพนจ์นี้:
ThisItem.Quantity
สูตรนี้ดึงข้อมูลโดยตรงจากตาราง รายละเอียดใบสั่ง (ไม่จำเป็นต้องมีความสัมพันธ์)
บนแท็บ หน้าหลัก เปลี่ยนการจัดตำแหน่งของตัวควบคุมนี้ไปทาง ขวา:
บนแท็บ แทรก แทรกป้ายชื่ออื่นลงในแกลเลอรีรายละเอียด จากนั้นปรับขนาดและย้ายป้ายชื่อไปทางด้านขวาของป้ายชื่อปริมาณ
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้เป็นสูตรนี้:
Text( ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
หากคุณไม่รวมแท็กภาษา ([$ -en-US]) แท็กภาษาจะถูกเพิ่มให้คุณตามภาษาและภูมิภาคของคุณ หากคุณใช้แท็กภาษาอื่น คุณจะต้องเอา $ ออกหลังวงเล็บเหลี่ยมปิด (]) จากนั้นเพิ่มสัญลักษณ์สกุลเงินของคุณเองในตำแหน่งนั้น
บนแท็บ หน้าหลัก เปลี่ยนการจัดตำแหน่งของตัวควบคุมนี้ไปทาง ขวา:
บนแท็บ แทรก แทรกตัวควบคุมป้ายชื่ออื่นลงในแกลเลอรีรายละเอียด จากนั้นปรับขนาดและย้ายป้ายชื่อใหม่ไปทางด้านขวาของราคาต่อหน่วย
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้เป็นสูตรนี้:
Text( ThisItem.Quantity * ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
อีกครั้ง หากคุณไม่รวมแท็กภาษา ([$ -en-US]) แท็กภาษาจะถูกเพิ่มให้คุณตามภาษาและภูมิภาคของคุณ หากแท็กนั้นแตกต่างกัน คุณจะต้องใช้สัญลักษณ์สกุลเงินของคุณเองแทน $ หลังวงเล็บเหลี่ยมปิด (])
บนแท็บ หน้าหลัก เปลี่ยนการจัดตำแหน่งของตัวควบคุมนี้ไปทาง ขวา:
คุณได้เพิ่มตัวควบคุมลงในแกลเลอรีรายละเอียดในตอนนี้
ในบานหน้าต่าง มุมมองทรี ให้เลือก Screen1 เพื่อให้แน่ใจว่าแกลเลอรีรายละเอียดไม่ถูกเลือกอีกต่อไป
เพิ่มข้อความในแถบชื่อเรื่องใหม่
บนแท็บ แทรก แทรกป้ายชื่ออื่นบนหน้าจอ:
ปรับขนาดและย้ายป้ายชื่อใหม่เหนือรูปภาพของผลิตภัณฑ์ในแถบชื่อเรื่องที่สอง จากนั้นเปลี่ยนสีของข้อความเป็นสีขาวบนแท็บ หน้าหลัก
คลิกสองครั้งที่ข้อความของป้ายชื่อ จากนั้นพิมพ์ ผลิตภัณฑ์:
คัดลอกและวางป้ายชื่อผลิตภัณฑ์ จากนั้นปรับขนาดและย้ายสำเนาเหนือคอลัมน์ปริมาณ
คลิกสองครั้งที่ข้อความของป้ายชื่อใหม้ จากนั้นพิมพ์ ปริมาณ:
คัดลอกและวางป้ายชื่อปริมาณ จากนั้นปรับขนาดและย้ายสำเนาเหนือคอลัมน์ราคาต่อหน่วย
คลิกสองครั้งที่ข้อความของป้ายชื่อใหม่ จากนั้นพิมพ์ ราคาต่อหน่วย:
คัดลอกและวางป้ายชื่อราคาต่อหน่วย จากนั้นปรับขนาดและย้ายสำเนาเหนือคอลัมน์ราคาเพิ่มเติม
คลิกสองครั้งที่ข้อความของป้ายชื่อใหม่ จากนั้นพิมพ์ เพิ่มเติม
แสดงยอดรวมใบสั่ง
ลดความสูงของแกลเลอรีรายละเอียดเพื่อให้มีที่ว่างสำหรับยอดรวมใบสั่งที่ด้านล่างของหน้าจอ:
คัดลอกและวางแถบชื่อเรื่องที่อยู่ตรงกลางของหน้าจอ จากนั้นย้ายสำเนาไปที่ด้านล่างของหน้าจอ:
คัดลอกและวางป้ายชื่อผลิตภัณฑ์จากแถบชื่อเรื่องตรงกลาง จากนั้นย้ายสำเนาไปที่แถบชื่อเรื่องด้านล่างทางซ้ายของคอลัมน์ ปริมาณ
คลิกสองครั้งที่ข้อความของป้ายชื่อใหม่ จากนั้นพิมพ์ข้อความนี้:
ยอดรวมใบสั่ง:คัดลอกและวางป้ายชื่อของยอดรวมใบสั่ง จากนั้นปรับขนาดและย้ายสำเนาไปทางขวาของป้ายชื่อของยอดรวมใบสั่ง
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้เป็นสูตรนี้:
Sum( Gallery1.Selected.'Order Details', Quantity )
สูตรนี้แสดงคำเตือนการมอบสิทธิ์ แต่คุณไม่จำเป็นต้องสนใจ เพราะไม่มีคำสั่งใดมีมากกว่า 500 ผลิตภัณฑ์
บนแท็บ หน้าหลัก ตั้งค่าการจัดตำแหน่งข้อความของป้ายชื่อใหม่ไปทาง ขวา:
คัดลอกและวางตัวควบคุมป้ายชื่อนี้ จากนั้นปรับขนาดและย้ายสำเนาใต้คอลัมน์ เพิ่มเติม
ตั้งค่าคุณสมบัติ ข้อความ ของสำเนาให้สูตรนี้:
Text( Sum( Gallery1.Selected.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
สูตรนี้แสดงคำเตือนการมอบสิทธิ์ แต่คุณไม่จำเป็นต้องสนใจ เพราะไม่มีคำสั่งใดมีมากกว่า 500 ผลิตภัณฑ์
เพิ่มพื้นที่สำหรับรายละเอียดใหม่
ในแกลเลอรีใดๆ คุณสามารถแสดงข้อมูล แต่คุณไม่สามารถอัปเดตหรือเพิ่มเรกคอร์ดได้ ภายใต้แกลเลอรีรายละเอียด คุณจะเพิ่มพื้นที่ที่ผู้ใช้สามารถกำหนดค่าเรกคอร์ดในตาราง รายละเอียดใบสั่ง และแทรกเรกคอร์ดนั้นลงในใบสั่ง
ลดความสูงของแกลเลอรีรายละเอียดให้เพียงพอสำหรับพื้นที่สำหรับการแก้ไขรายการเดียวภายใต้แกลเลอรีนั้น
ในพื้นที่นี้ คุณจะเพิ่มตัวควบคุมเพื่อให้ผู้ใช้สามารถเพิ่มรายละเอียดใบสั่งได้:
บนแท็บ แทรก แทรกป้ายชื่อ แล้วปรับขนาดและย้ายภายใต้แกลเลอรีรายละเอียด
คลิกสองครั้งที่ข้อความของป้ายชื่อใหม่ จากนั้นกด ลบ
บนแท็บ หน้าหลัก ตั้งค่าสี ที่เติม ของป้ายชื่อใหม่เป็น สีฟ้าอ่อน:
เลือกผลิตภัณฑ์
บนแท็บ แทรก เลือก ตัวควบคุม > กล่องคำสั่งผสม:
ตัวควบคุม กล่องคำสั่งผสม จะปรากฏขึ้นที่มุมซ้ายบน
ในกล่องโต้ตอบเมนูลอย ให้เลือกแหล่งข้อมูล ผลิตภัณฑ์ในใบสั่ง
ในแท็บ คุณสมบัติ สำหรับกล่องคำสั่งผสม เลือก แก้ไข (ถัดจาก ฟิลด์) เพื่อเปิดบานหน้าต่าง ข้อมูล ตรวจสอบให้แน่ใจว่า ข้อความหลัก และ SearchField ตั้งค่าเป็น nwind_productname.
คุณระบุชื่อทางตรรกะ เนื่องจากบานหน้าต่าง ข้อมูล ยังไม่รองรับชื่อที่แสดงในกรณีนี้:
ปิดบานหน้าต่าง ข้อมูล
ในแท็บ คุณสมบัติ ใกล้กับขอบด้านขวา เลื่อนลง ปิด อนุญาตให้เลือกหลายรายการ และตรวจสอบให้แน่ใจว่า อนุญาตการค้นหา เปิดใช้งาน:
ปรับขนาดและย้ายกล่องคำสั่งผสมไปยังพื้นที่สีฟ้าอ่อน ใต้คอลัมน์ชื่อผลิตภัณฑ์ในแกลเลอรีรายละเอียด:
ในกล่องคำสั่งผสมนี้ ผู้ใช้จะระบุใบสั่งในตาราง ผลิตภัณฑ์ สำหรับเรกคอร์ด รายละเอียดใบสั่ง ว่าแอปจะสร้าง
ในขณะที่กดปุ่ม Alt ค้างไว้ ให้เลือกลูกศรลงของกล่องคำสั่งผสม
เคล็ดลับ
โดยการกดปุ่ม Alt ค้างไว้ คุณสามารถโต้ตอบกับตัวควบคุมใน Power Apps Studio โดยไม่ต้องเปิดโหมดแสดงตัวอย่างได้
ในรายการของผลิตภัณฑ์ที่ปรากฎ ให้เลือกผลิตภัณฑ์
เพิ่มรูปภาพของผลิตภัณฑ์
บนแท็บ แทรก เลือก สื่อ > รูปภาพ:
ตัวควบคุม รูปภาพ จะปรากฏขึ้นที่มุมซ้ายบน:
ปรับขนาดและย้ายรูปภาพไปยังพื้นที่สีฟ้าอ่อนใต้รูปภาพของผลิตภัณฑ์อื่น และถัดจากกล่องคำสั่งผสม
ตั้งค่าคุณสมบัติ รูปภาพ ของรูปภาพไปยัง
ComboBox1.Selected.Picture
คุณกำลังใช้เคล็ดลับเดียวกับที่คุณใช้ในการแสดงรูปภาพของพนักงานในฟอร์มสรุป คุณสมบัติ ที่เลือก ของกล่องคำสั่งผสมส่งกลับเรกคอร์ดทั้งหมดของผลิตภัณฑ์ใดๆ ที่ผู้ใช้เลือก รวมถึงฟิลด์ รูปภาพ
เพิ่มกล่องปริมาณ
บนแท็บ แทรก เลือก ข้อความ > การป้อนข้อความ:
ตัวควบคุม การป้อนข้อความ จะปรากฏขึ้นที่มุมซ้ายบน:
ปรับขนาดและย้ายกล่องการป้อนข้อความไปทางขวาของกล่องคำสั่งผสม ใต้คอลัมน์ปริมาณในแกลเลอรีรายละเอียด:
โดยการใช้กล่องการป้อนข้อความนี้ ผู้ใช้จะระบุฟิลด์ ปริมาณ ของเรกคอร์ด รายละเอียดใบสั่ง
ตั้งค่าคุณสมบัติ ค่าเริ่มต้น ของตัวควบคุมนี้เป็น "":
บนแท็บ หน้าหลัก ตั้งค่าการจัดตำแหน่งข้อความของตัวควบคุมนี้ไปทาง ขวา:
แสดงหน่วยและราคาเพิ่มเติม
บนแท็บ แทรก แทรกตัวควบคุม ป้ายชื่อ:
ป้ายชื่อปรากฏขึ้นที่มุมบนซ้ายของหน้าจอ:
ปรับขนาดและย้ายป้ายชื่อไปทางด้านขวาของตัวควบคุมการป้อนข้อความ และตั้งค่าของคุณสมบัติ ข้อความ ของป้ายชื่อให้สูตรนี้:
Text( ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
การควบคุมนี้แสดงให้เห็น ราคาตามรายการ จากตาราง ผลิตภัณฑ์ในใบสั่ง ค่านี้จะเป็นตัวกำหนดฟิลด์ ราคาต่อหน่วย ในเรกคอร์ด รายละเอียดใบสั่ง
หมายเหตุ
สำหรับสถานการณ์นี้ ค่าเป็นแบบอ่านอย่างเดียว แต่สถานการณ์อื่นๆ อาจร้องขอให้ผู้ใช้แอปแก้ไขค่านั้น ในกรณีนั้น ให้ใช้ตัวควบคุม การป้อนข้อความ และตั้งค่าคุณสมบัติ ค่าเริ่มต้น เป็น ราคาตลาด
บนแท็บ หน้าหลัก ตั้งค่าการจัดตำแหน่งข้อความของป้ายชื่อราคาตลาดนี้ไปทาง ขวา:
คัดลอกและวางป้ายชื่อราคาตลาด จากนั้นปรับขนาดและย้ายสำเนาไปทางขวาของป้ายชื่อราคาตลาด
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้เป็นสูตรนี้:
Text( Value(TextInput1.Text) * ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
ตัวควบคุมนี้แสดงราคาเพิ่มเติมตามปริมาณที่ผู้ใช้แอประบุ และราคาตลาดของผลิตภัณฑ์ที่ผู้ใช้แอปเลือก เป็นการให้ข้อมูลล้วนๆ สำหรับผู้ใช้แอป
คลิกสองครั้งที่ตัวควบคุมการป้อนข้อความสำหรับปริมาณ แล้วพิมพ์ตัวเลข
ป้ายชื่อราคา เพิ่มเติม จะคำนวณใหม่เพื่อแสดงค่าใหม่:
เพิ่มไอคอนเพิ่ม
บนแท็บ แทรก เลือก ไอคอน > เพิ่ม:
ไอคอนปรากฏขึ้นที่มุมบนซ้ายของหน้าจอ
ปรับขนาดและย้ายไอคอนนี้ไปที่ขอบด้านขวาของพื้นที่สีฟ้าอ่อน จากนั้นตั้งค่าคุณสมบัติ OnSelect ของไอคอนในสูตรนี้:
Patch( 'Order Details', Defaults('Order Details'), { Order: Gallery1.Selected, Product: ComboBox1.Selected, Quantity: Value(TextInput1.Text), 'Unit Price': ComboBox1.Selected.'List Price' } ); Refresh( Orders ); Reset( ComboBox1 ); Reset( TextInput1 )
โดยทั่วไปแล้ว ฟังก์ชัน Patch จะอัปเดตและสร้างเรกคอร์ด และอาร์กิวเมนต์เฉพาะในสูตรนี้จะกำหนดการเปลี่ยนแปลงที่แน่นอนที่ฟังก์ชันจะทำ
อาร์กิวเมนต์แรกระบุแหล่งข้อมูล (ในกรณีนี้ ตาราง รายละเอียดใบสั่ง) ซึ่งฟังก์ชันจะอัปเดตหรือสร้างเรกคอร์ด
อาร์กิวเมนต์ที่สองระบุว่าฟังก์ชันจะสร้างเรกคอร์ดด้วยค่าเริ่มต้นสำหรับตาราง รายละเอียดใบสั่ง เว้นแต่จะระบุไว้เป็นอย่างอื่นในอาร์กิวเมนต์ที่สาม
อาร์กิวเมนต์ที่สามระบุว่าคอลัมน์สี่คอลัมน์ในเรกคอร์ดใหม่จะมีค่าจากผู้ใช้
- คอลัมน์ ใบสั่ง จะมีจำนวนใบสั่งที่ผู้ใช้เลือกในแกลเลอรีใบสั่ง
- คอลัมน์ ผลิตภัณฑ์ จะมีชื่อของผลิตภัณฑ์ที่ผู้ใช้เลือกในกล่องคำสั่งผสมที่แสดงผลิตภัณฑ์
- คอลัมน์ ปริมาณ จะมีค่าที่ผู้ใช้ระบุในกล่องการป้อนข้อความ
- คอลัมน์ ราคาต่อหน่วย จะมีราคาตลาดของผลิตภัณฑ์ที่ผู้ใช้เลือกสำหรับรายละเอียดใบสั่งนี้
หมายเหตุ
คุณสามารถสร้างสูตรที่ใช้ข้อมูลจากคอลัมน์ใดก็ได้ (ในตาราง ผลิตภัณฑ์ในใบสั่ง) สำหรับผลิตภัณฑ์ใดก็ตามที่ผู้ใช้แอปเลือกในกล่องคำสั่งผสมที่แสดงผลิตภัณฑ์ เมื่อผู้ใช้เลือกเรกคอร์ดในตาราง ผลิตภัณฑ์ในใบสั่ง ไม่เพียงแต่ชื่อผลิตภัณฑ์จะปรากฏในกล่องคำสั่งผสมนั้น แต่ราคาต่อหน่วยของผลิตภัณฑ์ยังปรากฏในป้ายชื่อด้วย ค่าการค้นหาแต่ละรายการในแอปพื้นที่ทำงานอ้างอิงเรกคอร์ดทั้งหมด ไม่ใช่แค่คีย์หลัก
ฟังก์ชัน รีเฟรช ช่วยให้มั่นใจได้ว่าตาราง ใบสั่ง แสดงถึงเรกคอร์ดที่คุณเพิ่งเพิ่มลงในตาราง รายละเอียดใบสั่ง ฟังก์ชัน ตั้งค่าใหม่ ล้างข้อมูลผลิตภัณฑ์ ปริมาณ และราคาต่อหน่วย เพื่อให้ผู้ใช้สามารถสร้างรายละเอียดใบสั่งอื่นได้ง่ายขึ้นสำหรับใบสั่งเดียวกัน
กด F5 แล้วจากนั้น เลือกไอคอน เพิ่ม
ใบสั่งสะท้อนข้อมูลที่คุณระบุ:
(ตัวเลือกเพิ่มเติม) เพิ่มรายการอื่นในใบสั่ง
กด Esc เพื่อปิดโหมดการแสดงตัวอย่าง
เอารายละเอียดใบสั่งออก
ในกึ่งกลางของหน้าจอ ให้เลือกเทมเพลตของแกลเลอรีรายละเอียด:
บนแท็บ แทรก เลือก ไอคอน > ถังขยะ:
ไอคอนถังขยะปรากฏขึ้นที่มุมบนซ้ายของเทมเพลตของแกลเลอรี
ปรับขนาดและย้ายไอคอนถังขยะไปทางด้านขวาของเทมเพลตของแกลเลอรีรายละเอียด จากนั้นตั้งค่าคุณสมบัติ OnSelect ของไอคอนในสูตรนี้:
Remove( 'Order Details', ThisItem ); Refresh( Orders )
ในการเขียนนี้ คุณไม่สามารถลบเรกคอร์ดออกจากความสัมพันธ์ได้โดยตรง ดังนั้นฟังก์ชัน เอาออก ลบเรกคอร์ดโดยตรงจากตารางที่เกี่ยวข้อง ThisItem ระบุเรกคอร์ดที่จะเอาออก นำมาจากเรกคอร์ดเดียวกันในแกลเลอรีรายละเอียดที่ไอคอนถังขยะปรากฏขึ้น
อีกครั้ง การดำเนินการใช้ข้อมูลแคช ดังนั้นฟังก์ชัน รีเฟรช แจ้งตาราง ใบสั่ง ว่าแอปได้เปลี่ยนตารางที่เกี่ยวข้อง
กด F5 เพื่อเปิดโหมดการแสดงตัวอย่าง จากนั้นเลือกไอคอนถังขยะถัดจากแต่ละเรกคอร์ด รายละเอียดใบสั่ง ที่คุณต้องการเอาออกจากใบสั่ง
ลองเพิ่มและเอารายละเอียดใบสั่งต่างๆ ออกจากใบสั่งของคุณ:
ในบทสรุป
โดยสรุป คุณเพิ่มแกลลอรีอื่นเพื่อแสดงรายละเอียดใบสั่งและควบคุมการเพิ่มและการเอารายละเอียดใบสั่งออกในแอป คุณใช้องค์ประกอบเหล่านี้:
- ตัวควบคุมแกลเลอรีที่สอง เชื่อมโยงกับแกลเลอรีใบสั่งผ่านความสัมพันธ์แบบหนึ่งต่อกลุ่ม: Gallery2.Items =
Gallery1.Selected.'Order Details'
- ความสัมพันธ์แบบกลุ่มต่อหนึ่งจากตาราง รายละเอียดใบสั่ง และตาราง ผลิตภัณฑ์ในใบสั่ง:
ThisItem.Product.'Product Name'
และThisItem.Product.Picture
- ฟังก์ชัน Choices เพื่อรับรายการผลิตภัณฑ์:
Choices( 'Order Details'.Product' )
- คุณสมบัติ ที่เลือก ของกล่องคำสั่งผสมเป็นเรกคอร์ดแบบกลุ่มต่อหนึ่งที่สมบูรณ์:
ComboBox1.Selected.Picture
และComboBox1.Selected.'List Price'
- ฟังก์ชัน Patch เพื่อสร้างเรกคอร์ด รายละเอียดใบสั่ง:
Patch( 'Order Details', Defaults( 'Order Details' ), ... )
- ฟังก์ชัน Remove เพื่อลบเรกคอร์ด รายละเอียดใบสั่ง:
Remove( 'Order Details', ThisItem )
หัวข้อชุดนี้เป็นคำแนะนำสั้นๆ เกี่ยวกับการใช้ความสัมพันธ์ Dataverse และตัวเลือกในแอปพื้นที่ทำงานเพื่อการศึกษา ก่อนที่คุณจะปล่อยแอปใดๆ สู่การทำงานจริง คุณควรพิจารณาการตรวจสอบความถูกต้องของฟิลด์ การจัดการข้อผิดพลาด และปัจจัยอื่นๆ
หมายเหตุ
บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)
แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)