สร้างแกลเลอรีใบสั่งในแอปพื้นที่ทำงาน
ทำตามคำแนะนำทีละขั้นตอนเพื่อสร้างแกลเลอรีใบสั่งในแอปพื้นที่ทำงาน สำหรับการจัดการข้อมูลที่สมมติขึ้นในฐานข้อมูล Northwind Traders หัวข้อนี้เป็นส่วนหนึ่งของชุดข้อมูลที่อธิบายวิธีสร้างแอปทางธุรกิจโดยใช้ข้อมูลเชิงสัมพันธ์ใน Microsoft Dataverse เพื่อผลลัพธ์ที่ดีที่สุด สำรวจหัวข้อเหล่านี้ตามลำดับนี้:
- สร้างแกลเลอรีใบสั่ง (หัวข้อนี้)
- สร้างฟอร์มสรุป
- สร้างแกลเลอรีรายละเอียด
ข้อกำหนดเบื้องต้น
- ติดตั้งฐานข้อมูลและแอป Northwind Traders
- อ่าน ภาพรวมของแอปพื้นที่ทำงาน สำหรับ Northwind Traders
สร้างแอปเปล่า
สร้าง แอปพื้นที่ทำงานเปล่า และตั้งชื่อเช่น "My Northwind Orders (แอปพื้นที่ทำงาน)"
เพิ่มข้อมูล
ที่บานหน้าต่างด้านซ้าย เลือก ข้อมูล > เพิ่มข้อมูล > ค้นหาและเลือกตาราง ใบสั่ง
ตาราง ใบสั่ง ประกอบด้วยฟิลด์หลายชนิด:
แต่ละฟิลด์มี ชื่อที่แสดง และ ชื่อ ซึ่งบางครั้งเรียกว่าชื่อตรรกะ ชื่อทั้งสองอ้างถึงสิ่งเดียวกัน โดยทั่วไป คุณจะใช้ชื่อที่แสดง เมื่อคุณสร้างแอป แต่บางกรณีอาจต้องใช้ ชื่อ คลุมเครือมากขึ้น ตามที่ระบุไว้ในขั้นตอน
ในขณะที่เรากำลังทำงานกับหน้าจอและการควบคุมต่อไป ใน Power Apps Studio เปลี่ยนกลับเป็น มุมมองทรี ทางด้านซ้ายมือโดยการกดที่ไอคอนสี่เหลี่ยมสามกองที่ซ้อนกัน คุณสามารถกลับไปที่ แหล่งข้อมูล เมื่อใดก็ได้โดยกดที่ไอคอนรูปทรงกระบอก
สร้างแกลเลอรีใบสั่ง
บนแท็บ แทรก เลือก แกลเลอรี > แนวตั้งว่างเปล่า เพื่อเพิ่มตัวควบคุม แกลเลอรี ซึ่งจะแสดงใบสั่ง
ตัวควบคุมจะถูกวางไว้บนพื้นที่ทำงาน และกล่องโต้ตอบเมนูลอยจะปรากฏขึ้นเพื่อถามว่าแหล่งข้อมูลใดที่จะเชื่อมต่อ
เราสามารถเชื่อมต่อโดยตรงกับ ใบสั่ง ที่นี่ แต่เราต้องการควบคุมการเรียงใบสั่งของแกลเลอรีแทน ละเว้นข้อความโต้ตอบเมนูลอย และในแถบสูตรตั้งค่าคุณสมบัติ รายการ ของแกลเลอรีให้สูตรนี้:
Sort( Orders, 'Order Number', Descending )
ฟังก์ชัน Sort สั่งซื้อรายการ เพื่อให้คำสั่งซื้อใหม่ล่าสุด (ซึ่งมีจำนวนการสั่งซื้อสูงสุด) ปรากฏขึ้นก่อน
หลังจากนั้นครู่หนึ่ง มุมมองผลลัพธ์จะปรากฏใต้แถบสูตร ดึงลูกศรลงทางซ้าย เพื่อดูผลลัพธ์ของสูตรของเรา เลื่อนไปทางขวาเพื่อดูคอลัมน์ หมายเลขใบสั่ง และตรวจสอบให้แน่ใจว่าเรียงลำดับตามที่ต้องการ (สูงสุดไปต่ำสุด)
ในแท็บ คุณสมบัติ ใกล้กับขอบด้านขวา เปิดรายการ เค้าโครง:
ในรายการของตัวเลือก ให้เลือก ชื่อเรื่องและคำบรรยาย:
ตัวควบคุม ป้ายชื่อ สองตัวถูกเพิ่มในเทมเพลตของแกลเลอรี โดยค่าเริ่มต้น ตัวควบคุมเหล่านี้จะแสดงสองคอลัมน์ของตาราง ใบสั่ง ที่คุณจะเปลี่ยนต่อไป เทมเพลตของแกลเลอรีถูกจำลองแบบแนวตั้งสำหรับแต่ละเรกคอร์ดในตาราง
ให้เลือก แก้ไข (ถัดจาก ฟิลด์) ในแท็บ คุณสมบัติ ใกล้ขอบด้านขวา
ในบานหน้าต่าง ข้อมูล ให้เลือก Title1 (หรือเลือกป้ายชื่อด้านบนในเทมเพลตของแกลเลอรี)
ในแถบสูตร ให้ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อให้นิพจน์นี้:
"Order " & ThisItem.'Order Number'
หมายเลขใบสั่งจะปรากฏที่ด้านบนของแต่ละรายการแกลเลอรี ในเทมเพลตแกลเลอรี ThisItem ให้สิทธิ์เข้าถึงทุกฟิลด์ในตาราง ใบสั่ง
ในบานหน้าต่าง ข้อมูล ให้เลือก Subtitle1 (หรือเลือกป้ายชื่อด้านล่างในเทมเพลตของแกลเลอรี):
ในแถบสูตร ให้ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อให้นิพจน์นี้:
ThisItem.Customer.Company
หลังจากที่คุณป้อนสูตรนี้ อาจแสดงข้อผิดพลาดเส้นหยักสีแดงสักครู่ ข้อผิดพลาดควรล้าง หากคุณเลือกสิ่งใดนอกแถบสูตร จากนั้นย้ายเคอร์เซอร์กลับไปที่แถบสูตร หากข้อผิดพลาดยังคงอยู่หรือคุณไม่เห็นค่า ให้เลือกแท็บ ดู เลือก แหล่งข้อมูล แล้วรีเฟรชตาราง ใบสั่ง โดยการเลือกจุดไข่ปลา (...) ทางด้านขวาของชื่อแหล่งข้อมูล
เมื่อคุณระบุ ThisItem.Customer คุณกำลังใช้ประโยชน์จากความสัมพันธ์แบบกลุ่มต่อหนึ่งระหว่างตาราง ใบสั่ง และ ลูกค้า และดึงข้อมูลเรกคอร์ดลูกค้าที่เกี่ยวข้องกับใบสั่งแต่ละรายการ จากเรกคอร์ดลูกค้า คุณกำลังดึงข้อมูลในคอลัมน์ บริษัท สำหรับแสดงผล
คุณสามารถแสดงความสัมพันธ์ทั้งหมดได้จากตาราง ใบสั่ง ไปยังตารางอื่น ๆ รวมทั้งตาราง ลูกค้า:
ปิดบานหน้าต่าง ข้อมูล โดยเลือกที่ไอคอนปิด (x) ที่มุมบนขวา
แสดงสถานะของใบสั่งแต่ละรายการ
ในขั้นตอนนี้ คุณจะเพิ่มช่องว่างในแกลเลอรีสำหรับป้ายชื่อ และกำหนดค่าให้แสดงสถานะของใบสั่งแต่ละรายการด้วยสีที่แตกต่างกันตามข้อมูล
ในเทมเพลตของแกลเลอ รีลดความกว้างของป้ายชื่อแรก Title1:
ทำซ้ำขั้นตอนก่อนหน้าด้วยป้ายชื่อที่สอง Subtitle1:
เมื่อเลือกเทมเพลตของแกลเลอรี (หรือตัวควบคุมในเทมเพลต) ให้เลือก ป้ายชื่อ บนแท็บ แทรก:
ย้ายป้ายชื่อใหม่ไปที่ด้านขวาของป้ายชื่อ Title1
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้นิพนจ์นี้:
ThisItem.'Order Status'
ในตาราง ใบสั่ง ฟิลด์ สถานะใบสั่ง เก็บค่าจากตัวเลือก สถานะใบสั่ง ตัวเลือกคล้ายกับการแจงนับในเครื่องมือการเขียนโปรแกรมอื่นๆ แต่ละชุดของตัวเลือกถูกกำหนดไว้ในฐานข้อมูล เพื่อให้ผู้ใช้สามารถระบุเฉพาะตัวเลือกเหล่านั้นที่อยู่ในชุด ตัวเลือก สถานะใบสั่ง ยังเป็นแบบส่วนกลาว ไม่ใช่แบบท้องถิ่น ดังนั้นคุณสามารถใช้ในตารางอื่นได้:
แต่ละตัวเลือกในชุดมีชื่อที่ปรากฏขึ้นหากคุณแสดงในป้ายชื่อ ชื่อเหล่านี้สามารถแปลเป็นภาษาท้องถิ่น และแอปจำตัวเลือกเดียวกันว่าผู้ใช้ภาษาอังกฤษเลือก Apple ผู้ใช้ชาวฝรั่งเศสเลือก Pomme หรือผู้ใช้ชาวสเปนเลือก Manzana ด้วยเหตุผลนี้ คุณไม่สามารถสร้างสูตรที่ต้องอาศัยสตริงที่มีการกำหนดรหัสตายตัวสำหรับตัวเลือก โดยหัวข้อนี้สาธิตในภายหลัง
ในสูตร คุณต้องล้อม สถานะใบสั่ง ด้วยเครื่องหมายอัญประกาศเดี่ยวเนื่องจากมีช่องว่าง อย่างไรก็ตาม ชื่อนั้นทำหน้าที่เหมือนกับชื่ออื่นๆ ใน Power Apps เช่น ลูกค้า หรือ บริษัท ทำ
บนแท็บ หน้าหลัก เพิ่มขนาดตัวอักษรของป้ายสถานะเป็น 20 และจัดแนวข้อความไปทางขวา:
ในแถบสูตร ให้ตั้งค่าคุณสมบัติ สี ของป้ายสถานะสำหรับสูตรนี้:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, 'Orders Status'.New, Black, 'Orders Status'.Invoiced, Blue, 'Orders Status'.Shipped, Purple )
Power Apps ป้องกันคุณจากการสร้างสูตรที่ต้องอาศัยสตริงที่มีการกำหนดรหัสตายยากสำหรับแต่ละตัวเลือกในชุด เนื่องจากสูตรดังกล่าวสามารถสร้างผลลัพธ์ที่ไม่เหมาะสม หากชื่อตัวเลือกถูกแปลเป็นภาษาท้องถิ่น ฟังก์ชัน Switch กำหนดสีตามที่สตริงปรากฏในป้ายชื่อแทน ตามการตั้งค่าของผู้ใช้
เมื่อใช้สูตรนี้แล้ว ค่าสถานะที่แตกต่างกันจะปรากฏเป็นสีที่ต่างกันดังแสดงในกราฟก่อนหน้านี้
แสดงยอดรวมของแต่ละใบสั่ง
เลือกรายการแรกในแกลเลอรี ซึ่งเป็นเทมเพลตของแกลเลอรี:
บนแท็บ แทรก เลือก ป้ายชื่อ เพื่อเพิ่มป้ายชื่ออื่น:
ย้ายป้ายชื่อใหม่ เพื่อให้ปรากฏภายใต้ป้ายสถานะ:
ในแถบสูตร ให้ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อใหม่ให้สูตรนี้:
Text( Sum( ThisItem.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
ในสูตรนี้ ฟังก์ชัน Sum เพิ่มเรกคอร์ดในตาราง รายละเอียดใบสั่ง ที่เกี่ยวข้องกับแต่ละเรกคอร์ดในตาราง ใบสั่ง ผ่านความสัมพันธ์แบบหนึ่งต่อกลุ่ม รายการบรรทัดเหล่านี้ประกอบขึ้นเป็นแต่ละใบสั่ง และคุณจะใช้ความสัมพันธ์แบบหนึ่งต่อกลุ่มเดียวกัน เพื่อแสดงและแก้ไขรายการบรรทัดในพื้นที่ด้านล่างขวาของหน้าจอ
สูตรนี้แสดงขีดเส้นใต้สีน้ำเงินและ คำเตือนการมอบสิทธิ์ เพราะ Dataverse ไม่รองรับการมอบสิทธิ์ฟังก์ชันรวมที่ซับซ้อน (ตัวอย่างเช่น ผลรวมของการคูณ) คุณสามารถละเว้นข้อมูลนี้ได้ เนื่องจากไม่มีใบสั่งในตัวอย่างนี้จะมีรายการบรรทัดมากกว่า 500 รายการ หากจำเป็นสำหรับแอปอื่น คุณสามารถเพิ่มขีดจำกัดนั้นได้ใน การตั้งค่าแอป
ฟังก์ชัน ข้อความ ในสูตรนี้เพิ่มสัญลักษณ์สกุลเงิน และจัดรูปแบบผลลัพธ์ด้วยตัวคั่นหลักพันและทศนิยม ตามที่เขียนไว้ สูตรจะมีแท็กภาษาสำหรับภาษาอังกฤษแบบสหรัฐอเมริกา ([$-en-US]) และสัญลักษณ์ดอลลาร์ ($) หากคุณลบแท็กภาษาแท็กนั้น จะถูกแทนที่ด้วยแท็กภาษาตามการตั้งค่าภาษาของคุณ และป้ายชื่อจะแสดงรูปแบบที่เหมาะสมสำหรับแท็กนั้น หากคุณทิ้งสัญลักษณ์ดอลลาร์ ป้ายชื่อจะแสดงสัญลักษณ์สกุลเงินที่เหมาะสมตามการตั้งค่าของผู้ใช้ อย่างไรก็ตามคุ ณสามารถบังคับให้สัญลักษณ์อื่นปรากฏขึ้น โดยการแทนที่สัญลักษณ์ดอลลาร์ด้วยสัญลักษณ์ที่คุณต้องการ
บนแท็บ หน้าหลัก เปลี่ยนขนาดตัวอักษรของป้ายชื่อใหม่สุดเป็น 20 และจัดแนวข้อความไปทางขวา:
ย้ายแกลเลอรีไปที่ขอบด้านซ้ายของหน้าจอ และลดความกว้างของแกลเลอรีเพื่อปิดพื้นที่บางส่วน
เพิ่มความสูงของแกลเลอรีเพื่อให้สูงเกือบเท่ากับหน้าจอ แต่ทิ้งที่ว่างเล็กๆ ที่ด้านบนสุดสำหรับแถบชื่อเรื่อง ซึ่งคุณจะเพิ่มในช่วงเริ่มต้นของหัวข้อถัดไป:
สรุป
โดยสรุป คุณเริ่มสร้างแอปพื้นที่ทำงานแบบหน้าจอเดียว โดยการเพิ่มแกลเลอรีใบสั่ง ซึ่งรวมถึงองค์ประกอบเหล่านี้:
- นิพจน์เพื่อแสดงหมายเลขใบสั่ง:
"Orders " & ThisItem.OrderNumber
- ฟิลด์ในความสัมพันธ์แบบกลุ่มต่อหนึ่ง:
ThisItem.Customer.Company
- ป้ายชื่อที่แสดงชื่อของตัวเลือกในชุด:
ThisItem.'Order Status'
- ป้ายชื่อที่เปลี่ยนรูปแบบตามตัวเลือกในชุดที่ป้ายชื่อแสดง:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
- ฟังก์ชันการรวมที่ซับซ้อนในความสัมพันธ์แบบหนึ่งต่อกลุ่ม:
Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )
หัวข้อถัดไป
ในหัวข้อถัดไป คุณจะต้องเพิ่มตัวควบคุม แก้ไขฟอร์ม เพื่อแสดงและแก้ไขสรุปใบสั่งที่ผู้ใช้เลือกในแกลเลอรีที่คุณเพิ่งสร้างขึ้น
หมายเหตุ
บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)
แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)