ทำความเข้าใจฟอร์มแอปพื้นที่ทำงาน
เพิ่มตัวควบคุมสามชนิดให้กับแอปพื้นที่ทำงานเพื่อให้ผู้ใช้สามารถเรียกดูเรกคอร์ด แสดงรายละเอียดเกี่ยวกับเรกคอร์ดนั้น และแก้ไขหรือสร้างเรกคอร์ดได้:
กิจกรรม | ควบคุม | คำอธิบาย |
---|---|---|
เรียกดูเรกคอร์ด | ตัวควบคุม**แกลเลอรี** | กรอง เรียงลำดับ ค้นหา และเลื่อนไปตามเรกคอร์ดในแหล่งข้อมูล และเลือกเรกคอร์ดที่ระบุ แสดงเฉพาะฟิลด์บางฟิลด์จากแต่ละเรกคอร์ดเพื่อแสดงเรกคอร์ดหลายเรกคอร์ดในแต่ละครั้ง แม้แต่บนหน้าจอขนาดเล็ก |
แสดงรายละเอียดของเรกคอร์ด | ตัวควบคุม การแสดงฟอร์ม | สำหรับเรกคอร์ดเดียว แสดงฟิลด์จำนวนมาก หรือทั้งหมดในเรกคอร์ดนั้น |
แก้ไขหรือสร้างเรกคอร์ด | ตัวควบคุม การแก้ไขฟอร์ม | อัปเดตฟิลด์อย่างน้อยหนึ่งฟิลด์หรือมากกว่าในเรกคอร์ดเดี่ยว (หรือสร้างเรกคอร์ดโดยเริ่มต้นด้วยค่าเริ่มต้น) และบันทึกการเปลี่ยนแปลงเหล่านั้นกลับไปยังแหล่งข้อมูลพื้นฐาน |
ย้ายตัวควบคุมแต่ละรายการบนหน้าจอที่ต่างกันเพื่อทำให้ง่ายต่อการจำแนก:
ตามหัวข้อนี้อธิบาย ให้รวมตัวควบคุมเหล่านี้กับสูตรเมื่อต้องสร้างประสบการณ์ใช้งานของผู้ใช้โดยรวม
ข้อกำหนดเบื้องต้น
- ลงทะเบียน สำหรับ Power Apps แล้ว ลงชื่อเข้าใช้ โดยใช้ข้อมูลประจำตัวเดียวกับที่คุณใช้ในการลงทะเบียน
- เรียนรู้วิธี กำหนดค่าตัวควบคุม ใน Power Apps
สำรวจแอปที่สร้างขึ้น
Power Apps สามารถสร้างแอปโดยยึดตามแหล่งข้อมูลที่คุณระบุได้โดยอัตโนมัติ แอปแต่ละตัวประกอบด้วยหน้าจอสามหน้าจอที่มีตัวควบคุมตามที่อธิบายไว้ก่อนหน้า และสูตรที่เชื่อมต่อแอปเหล่านั้น เรียกใช้แอปเหล่านี้ "แบบสำเร็จรูป" ปรับแต่งแอปเหล่านั้นสำหรับเป้าหมายเฉพาะของคุณ หรือตรวจสอบวิธีการทำงานเพื่อให้คุณสามารถเรียนรู้แนวคิดที่มีประโยชน์ในการนำไปใช้กับแอปของคุณเอง ในส่วนต่อไปนี้ ตรวจสอบหน้าจอ ตัวควบคุม และสูตรที่ควบคุมแอปที่สร้างขึ้น
เรียกดูหน้าจอ
หน้าจอนี้แสดงให้เห็นสูตรที่สำคัญต่อไปนี้:
Control | ลักษณะการทำงานที่ได้รับการสนับสนุน | สูตร |
---|---|---|
BrowseGallery1 | แสดงเรกคอร์ดจากแหล่งข้อมูล สินทรัพย์ | คุณสมบัติ รายการ ของแกลเลอรีถูกตั้งค่าเป็นสูตรที่ยึดตามแหล่งข้อมูล สินทรัพย์ |
ImageNewItem1 | แสดงหน้าจอ แก้ไขและสร้าง ที่มีฟิลด์แต่ละฟิลด์ถูกตั้งค่าเป็นค่าเริ่มต้น เพื่อให้ผู้ใช้สามารถสร้างเรกคอร์ดได้อย่างง่ายดาย | คุณสมบัติ OnSelect ของรูปตั้งค่าเป็นสูตรดังนี้: NewForm( EditForm1 ); Navigate( EditScreen1, None ) |
NextArrow1 (ในแกลเลอรี) | แสดงหน้าจอ รายละเอียด เพื่อดูฟิลด์หลายฟิลด์หรือทั้งหมดของเรกคอร์ดที่เลือกในปัจจุบัน | คุณสมบัติ OnSelect ของลูกศรตั้งค่าเป็นสูตรดังนี้: Navigate( DetailScreen1, None ) |
ตัวควบคุมหลักบนหน้าจอ BrowseGallery1 นี้จะครอบคลุมพื้นที่ส่วนใหญ่ของหน้าจอ ผู้ใช้สามารถเลื่อนผ่านแกลเลอรีเพื่อค้นหาเรกคอร์ดที่ระบุ เพื่อแสดงฟิลด์เพิ่มเติม หรือเพื่อปรับปรุงได้
ตั้งค่าคุณสมบัติ รายการ ของแกลเลอรีเพื่อแสดงเรกคอร์ดจากแหล่งข้อมูลด้านใน ตัวอย่างเช่น ตั้งค่าคุณสมบัตินั้นให้เป็น สินทรัพย์เพื่อแสดเรกคอร์ดจากแหล่งข้อมูลของชื่อนั้น
หมายเหตุ
ในแอปที่สร้างขึ้น รายการ จะถูกตั้งค่าเป็นสูตรที่ซับซ้อนมากขึ้นตามค่าเริ่มต้น เพื่อให้ผู้ใช้สามารถเรียงลำดับและค้นหาเรกคอร์ดได้ คุณจะได้เรียนรู้วิธีสร้างสูตรนั้นในภายหลังในหัวข้อนี้ รุ่นที่เรียบง่ายกว่าก็เพียงพอสำหรับตอนนี้
แทนที่จะหาเรกคอร์ดเพื่อแสดงหรือแก้ไข ผู้ใช้สามารถสร้างเรกคอร์ดโดยการเลือกสัญลักษณ์เครื่องหมาย "+" เหนือแกลเลอรีได้ สร้างเอฟเฟ็กต์นี้โดยการเพิ่มตัวควบคุม รูป ซึ่งแสดงเป็นสัญลักษณ์ "+" ด้านใน และมีการตั้งค่าคุณสมบัติ OnSelect เป็นสูตรดังนี้:
NewForm( EditForm1 ); Navigate( EditScreen1, None )
สูตรนี้จะเปิดหน้าจอ แก้ไขและสร้าง ซึ่งแสดงตัวควบคุม แก้ไขฟอร์ม ที่ชื่อ EditForm1 สูตรยังสลับฟอร์มดังกล่าวลงในโหมด ใหม่ ซึ่งฟอร์มจะแสดงค่าเริ่มต้นจากแหล่งข้อมูล เพื่อให้ผู้ใช้สามารถสร้างเรกคอร์ดตั้งแต่ต้นได้อย่างง่ายดาย
เมื่อต้องการตรวจสอบตัวควบคุมใด ๆ ที่ปรากฏใน BrowseGallery1 ให้เลือกตัวควบคุมนั้นในส่วนแรกของแกลเลอรีนั้น ซึ่งทำหน้าที่เป็นเทมเพลตสำหรับส่วนอื่น ๆ ทั้งหมด ตัวอย่างเช่น เลือกตัวควบคุม ป้ายชื่อ ตรงกลางบนขอบด้านซ้าย:
ในตัวอย่างนี้ ตัวควบคุม ข้อความ ถูกตั้งค่าเป็น ThisItem.AssignedTo ซึ่งเป็นฟิลด์ในแหล่งข้อมูล สินทรัพย์ คุณสมบัติ ข้อความ ของตัวควบคุม ป้ายชื่อ อีกสามตัวในแกลเลอรีจะถูกตั้งค่าเป็นสูตรที่คล้ายกัน และแต่ละตัวควบคุมแสดงเป็นฟิลด์ที่แตกต่างกันในแหล่งข้อมูล
เลือกตัวควบคุม รูปร่าง (ลูกศร) และยืนยันว่าคุณสมบัติของ OnSelect ถูกตั้งค่าเป็นสูตรนี้:
Navigate( DetailScreen1, None )
ถ้าผู้ใช้พบเรกคอร์ดใน BrowseGallery1 ผู้ใช้สามารถเลือกลูกศรสำหรับเรกคอร์ดนั้นเพื่อแสดงข้อมูลเพิ่มเติมเกี่ยวกับสิ่งนี้ใน DetailScreen1 ได้ โดยการเลือกลูกศร ผู้ใช้จะเปลี่ยนแปลงค่าคุณสมบัติ ถูกเลือก ของ BrowseGallery1 ในแอปนี้ คุณสมบัติจะกำหนดเรกคอร์ดที่ไม่เพียงแค่ปรากฏใน DetailScreen1 เท่านั้น แต่ในหน้าจอ แก้ไขและสร้าง ด้วยถ้าผู้ใช้ตัดสินใจที่จะปรับปรุงเรกคอร์ด
หน้าจอรายละเอียด
หน้าจอนี้แสดงให้เห็นสูตรที่สำคัญต่อไปนี้:
Control | ลักษณะการทำงานที่ได้รับการสนับสนุน | สูตร |
---|---|---|
DetailForm1 | แสดงเรกคอร์ดในแหล่งข้อมูล สินทรัพย์ | ตั้งค่าคุณสมบัติ DataSource เป็น สินทรัพย์ |
DetailForm1 | กำหนดเรกคอร์ดที่จะแสดง ในแอปที่ถูกสร้างขึ้น แสดงเรกคอร์ดที่ผู้ใช้ที่เลือกไว้ในแกลเลอรี | ตั้งค่าคุณสมบัติ รายการ ของตัวควบคุมนี้เป็นค่าต่อไปนี้: BrowseGallery1.Selected |
ตัวควบคุม การ์ด | ในตัวควบคุม แสดงฟอร์ม แสดงฟิลด์เดียวในเรกคอร์ด | ตั้งค่าคุณสมบัติ DataField เป็นชื่อของฟิลด์ ซึ่งครอบโดยเครื่องหมายอัญประกาศคู่ (ตัวอย่างเช่น "ชื่อ") |
ImageBackArrow1 | เมื่อผู้ใช้เลือกตัวควบคุมนี้ เปิด BrowseScreen1 | ตั้งค่าคุณสมบัติ OnSelect ลงในสูตรนี้ Back() |
ImageDelete1 | เมื่อผู้ใช้เลือกตัวควบคุมนี้ ให้ลบเรกคอร์ดออก | ตั้งค่าคุณสมบัติ OnSelect ลงในสูตรนี้ Remove( Assets, BrowseGallery1.Selected ) |
ImageEdit1 | เมื่อผู้ใช้เลือกตัวควบคุมนี้ ให้เปิดหน้าจอ แก้ไขและสร้าง ไปยังเรกคอร์ดปัจจุบัน | ตั้งค่าคุณสมบัติ OnSelect ลงในสูตรนี้ Navigate( EditScreen1, None ) |
ที่ด้านบนของหน้าจอ รูปภาพสามรูปที่อยู่ภายนอก DetailForm1 และเป็นปุ่ม ประสานระหว่างหน้าจอทั้งสามของแอป
DetailForm1 จะควบคุมหน้าจอนี้และแสดงเรกคอร์ดที่ผู้ใช้ที่เลือกในแกลเลอรี (เนื่องจากคุณสมบัติ รายการ ของฟอร์มถูกตั้งค่าเป็น BrowseGallery1.Selected) คุณสมบัติ DataSource ของฟอร์มยังให้เมตาดาต้าเกี่ยวกับแหล่งข้อมูล ตัวอย่างเช่น ชื่อที่แสดงที่จำง่ายสำหรับฟิลด์แต่ละฟิลด์
DetailForm1 ประกอบด้วยตัวควบคุม**การ์ด** หลายตัว คุณสามารถเลือกตัวควบคุม การ์ด เอง หรือตัวควบคุมที่ประกอบอยู่ในตัวควบคุมนั้นอย่างใดอย่างหนึ่ง เพื่อค้นหาข้อมูลเพิ่มเติมได้
คุณสมบัติ DataField ของตัวควบคุม บัตร จะกำหนดฟิลด์ที่การ์ดแสดง ในกรณีนี้ คุณสมบัตินั้นจะถูกตั้งค่าเป็น AssetID การ์ดมีตัวควบคุม ป้ายชื่อ ที่คุณสมบัติ ข้อความ ถูกตั้งค่าเป็น Parent.Default ตัวควบคุมนี้แสดงค่า ค่าเริ่มต้น สำหรับการ์ด ซึ่งมีการตั้งค่าผ่านคุณสมบัติ DataField
ในแอปที่ถูกสร้างขึ้น ตัวควบคุม การ์ด จะถูกล็อกไว้ตามค่าเริ่มต้น เมื่อการ์ดถูกล็อก คุณจะไม่สามารถปรับเปลี่ยนคุณสมบัติบางอย่างได้ เช่น DataField และแถบสูตรจะไม่ไม่สามารถใช้งานได้สำหรับคุณสมบัติเหล่านั้น ข้อจำกัดนี้ช่วยทำให้แน่ใจว่า การกำหนดเองของคุณจะไม่ทำให้การทำงานพื้นฐานของแอปที่สร้างขึ้นเสียหาย อย่างไรก็ตาม คุณสามารถเปลี่ยนคุณสมบัติบางอย่างของการ์ดและตัวควบคุมในบานหน้าต่างด้านขวาได้:
ในบานหน้าต่างด้านขวา คุณสามารถเลือกฟิลด์ที่จะแสดง และประเภทของตัวควบคุมแต่ละฟิลด์ที่จะแสดงได้
หน้าจอแก้ไข/สร้าง
หน้าจอนี้แสดงให้เห็นสูตรที่สำคัญต่อไปนี้:
Control | ลักษณะการทำงานที่ได้รับการสนับสนุน | สูตร |
---|---|---|
EditForm1 | แสดงเรกคอร์ดในแหล่งข้อมูล สินทรัพย์ | ตั้งค่าคุณสมบัติ DataSource เป็น สินทรัพย์ |
EditForm1 | กำหนดเรกคอร์ดที่จะแสดง ในแอปที่ถูกสร้างขึ้น แสดงเรกคอร์ดที่ผู้ใช้ที่เลือกไว้ใน BrowseScreen1 | ตั้งค่าคุณสมบัติ รายการ เป็นค่าดังนี้: BrowseGallery1.Selected |
ตัวควบคุม การ์ด | ในตัวควบคุม**แก้ไขฟอร์ม** มีตัวควบคุมเพื่อให้ผู้ใช้สามารถแก้ไขฟิลด์อย่างน้อยหนึ่งฟิลด์หรือมากกว่าในเรกคอร์ดได้ | ตั้งค่าคุณสมบัติ DataField เป็นชื่อของฟิลด์ ซึ่งครอบโดยเครื่องหมายอัญประกาศคู่ (ตัวอย่างเช่น "ชื่อ") |
ImageCancel1 | เมื่อผู้ใช้เลือกตัวควบคุมนี้ ให้ละทิ้งการเปลี่ยนแปลงใดๆ ในการดำเนินการ และเปิดหน้าจอ รายละเอียด ขึ้น | ตั้งค่าคุณสมบัติ OnSelect ลงในสูตรนี้ ResetForm( EditForm1 ); Back() |
ImageAccept1 | เมื่อผู้ใช้เลือกตัวควบคุมนี้ ให้ส่งการเปลี่ยนแปลงไปยังแหล่งข้อมูล | ตั้งค่าคุณสมบัติ OnSelect ลงในสูตรนี้ SubmitForm( EditForm1 ) |
EditForm1 | ถ้าการเปลี่ยนแปลงถูกยอมรับ กลับไปยังหน้าจอก่อนหน้า | ตั้งค่าคุณสมบัติ OnSuccess ลงในสูตรนี้: Back() |
EditForm1 | ถ้าการเปลี่ยนแปลงไม่ได้รับการยอมรับ ให้คงอยู่บนหน้าจอปัจจุบันเพื่อให้ผู้ใช้สามารถแก้ไขปัญหาใด ๆ ที่มีและลองส่งอีกครั้ง | ปล่อยให้คุณสมบัติ OnFailure ว่างเปล่า |
LblFormError1 | ถ้าการเปลี่ยนแปลงไม่ได้รับการยอมรับ ให้แสดงข้อผิดพลาด | ตั้งค่าคุณสมบัติ ข้อความ เป็นค่าดังนี้: EditForm1.Error |
ดังหน้าจอ รายละเอียด ตัวควบคุมฟอร์ม ชื่อ EditForm1 จะควบคุมหน้าจอ แก้ไขและสร้าง นอกจากนี้ คุณสมบัติ รายการ ของ EditForm1 จะถูกตั้งค่าเป็น BrowseGallery1.Selected เพื่อให้ฟอร์มแสดงเรกคอร์ดที่ ผู้ใช้ที่เลือกไว้ใน BrowseScreen1 ในขณะที่หน้าจอ รายละเอียด แสดงฟิลด์แต่ละฟิลด์แบบอ่านอย่างเดียว ผู้ใช้สามารถปรับปรุงค่าของฟิลด์อย่างน้อยหนึ่งฟิลด์หรือมากกว่าโดยใช้ตัวควบคุมใน EditForm1 ได้ นอกจากนี้ยังใช้คุณสมบัติ DataSource ในการเข้าถึงเมตาดาต้าเกี่ยวกับแหล่งข้อมูลนี้ เช่น ชื่อที่แสดงที่จำง่ายสำหรับฟิลด์แต่ละฟิลด์และตำแหน่งที่ตั้งที่ควรบันทึกการเปลี่ยนแปลง
ถ้าผู้ใช้เลือกไอคอน "X" เพื่อยกเลิกการปรับปรุง ฟังก์ชัน ResetForm จะละทิ้งการเปลี่ยนแปลงที่ยังไม่ได้บันทึกการใด ๆ และฟังก์ชัน Back จะเปิดหน้าจอ รายละเอียด ทั้งหน้าจอ รายละเอียด และหน้าจอ แก้ไขและสร้าง จะแสดงเรกคอร์ดเดียวกันจนกว่าผู้ใช้จะเลือกหน้าจออื่นบน BrowseScreen1 ฟิลด์ในเรกคอร์ดนั้นยังคงอยู่ในการตั้งค่าให้เป็นค่าที่ถูกบันทึกไว้ล่าสุด ไม่มีการเปลี่ยนแปลงใด ๆ ที่ผู้ใช้ทำขึ้นแล้วละทิ้งในภายหลัง
ถ้าผู้ใช้เปลี่ยนแปลงค่าอย่างน้อยหนึ่งหรือมากกว่าในฟอร์ม แล้วเลือกไอคอน "เครื่องหมายถูก" ฟังก์ชัน SubmitForm จะส่งการเปลี่ยนแปลงของผู้ใช้ไปยังแหล่งข้อมูล
- ถ้าการเปลี่ยนแปลงถูกบันทึกเสร็จสมบูรณ์แล้ว สูตร OnSuccess ของแบบฟอร์มจะถูกเรียกใช้และฟังก์ชัน Back() จะเปิดหน้าจอรายละเอียดจะแสดงเรกคอร์ดที่อัปเดต
- ถ้าการเปลี่ยนแปลงถูกบันทึกไม่เสร็จสมบูรณ์ สูตร OnFailure ของแบบฟอร์มจะถูกเรียกใช้ แต่จะไม่ทำเปลี่ยนแปลงใด ๆ เนื่องจากเรกคอร์ด ว่างเปล่า หน้าจอ แก้ไขและสร้าง ยังคงเปิดอยู่เพื่อให้ผู้ใช้สามารถยกเลิกการเปลี่ยนแปลงหรือแก้ไขข้อผิดพลาดได้ LblFormError1 แสดงข้อความข้อผิดพลาดที่จำง่าย ที่คุณสมบัติ ข้อผิดพลาด ของฟอร์มถูกตั้งค่าไว้
เช่นเดียวกับในตัวควบคุม**แสดงฟอร์ม** ตัวควบคุม แก้ไขฟอร์ม จะประกอบด้วยตัวควบคุม การ์ด ซึ่งประกอบด้วยตัวควบคุมอื่น ๆ ที่แสดงฟิลด์ที่แตกต่างกันในเรกคอร์ด:
ในรูปก่อนหน้า การ์ดที่เลือกจะแสดงในฟิลด์ AssetID และประกอบด้วยตัวควบคุมการ ป้อนข้อความ เพื่อให้ผู้ใช้สามารถแก้ไขค่าของฟิลด์นั้นได้ (ในทางตรงกันข้าม หน้าจอรายละเอียดจะแสดงฟิลด์เดียวกันในตัวควบคุม ป้ายชื่อ ซึ่งเป็นแบบอ่านอย่างเดียว) ตัวควบคุม การป้อนข้อความ มีคุณสมบัติ ค่าเริ่มต้น ซึ่งมีค่าเป็น Parent.Default ถ้าผู้ใช้กำลังสร้างเรกคอร์ดแทนการแก้ไข ตัวควบคุมนั้นจะแสดงค่าเริ่มต้นที่ผู้ใช้สามารถเปลี่ยนแปลงสำหรับเรกคอร์ดใหม่ได้
ในบานหน้าต่างด้านขวา คุณสามารถแสดงหรือซ่อนการ์ดแต่ละรายการ จัดเรียงใหม่ หรือกำหนดค่าเพื่อแสดงฟิลด์ในตัวควบคุมชนิดอื่นได้
สร้างแอปตั้งแต่เริ่มต้น
โดยการทำความเข้าใจเกี่ยวกับวิธีที่ Power Apps สร้างแอป คุณสามารถสร้างแอปด้วยตนเองได้ โดยใช้แบบสำเร็จรูปและสูตรเดียวกันที่กล่าวถึงก่อนหน้านี้ในหัวข้อนี้
ระบุข้อมูลทดสอบ
เพื่อที่จะได้ประโยชน์สูงสุดจากหัวข้อนี้ ให้เริ่มต้นด้วยแหล่งข้อมูลที่คุณสามารถใช้ทดลองได้ ซึ่งควรประกอบด้วยข้อมูลทดสอบที่คุณสามารถอ่านและปรับปรุงได้โดยไม่ต้องกังวล
หมายเหตุ
ถ้าคุณใช้รายการที่สร้างโดยใช้ Microsoft Lists ไลบรารี SharePoint หรือตาราง Excel ที่ประกอบด้วยชื่อคอลัมน์ที่มีช่องว่างเป็นแหล่งข้อมูลของคุณ Power Apps จะแทนที่ช่องว่างด้วย "_x0020_" ตัวอย่างเช่น "ชื่อคอลัมน์" ใน SharePoint หรือ Excel จะแสดงเป็น "Column_x0020_Name" ใน Power Apps เมื่อแสดงในเค้าโครงข้อมูลหรือใช้ในสูตร
เมื่อต้องการทำตามส่วนที่เหลือของหัวข้อนี้อย่างถูกต้อง สร้างรายการ ที่มีชื่อว่า "Ice Cream" ที่ประกอบด้วยข้อมูลดังนี้:
สร้างแอปตั้งแต่เริ่มต้น สำหรับโทรศัพท์ และ เชื่อมต่อแอปกับแหล่งข้อมูลของคุณ
หมายเหตุ
แอปของแท็บเล็ตจะคล้ายกันมาก แต่คุณอาจต้องการ เค้าโครงหน้าจอ ที่แตกต่างเพื่อใช้ประโยชน์จากพื้นที่หน้าจอเพิ่มเติม
ตัวอย่างในหัวข้อที่เหลือจะยึดตามแหล่งข้อมูลที่ชื่อ Ice Cream
เรียกดูเรกคอร์ด
รับส่วนของข้อมูลอย่างรวดเร็วจากเรกคอร์ดโดยการค้นหาจากในแกลเลอรีบนหน้าจอการเรียกดู
เพิ่มแกลเลอรี แนวตั้ง และเปลี่ยนเค้าโครงเป็น ชื่อเรื่อง เท่านั้น
ตั้งค่าคุณสมบัติ รายการ ของแกลเลอรีเป็น Ice Cream
ตั้งค่าคุณสมบัติ ข้อความ ของป้ายชื่อแรกในแกลเลอรีเป็น ThisItem.Title ถ้าป้ายถูกตั้งเป็นชื่ออื่น
ในตอนนี้ ป้ายชื่อจะแสดงค่าฟิลด์ ชื่อเรื่อง สำหรับเรกคอร์ดแต่ละเรกคอร์ด
ปรับขนาดแกลเลอรีเพื่อเติมให้เต็มหน้าจอ และตั้งค่าคุณสมบัติ TemplateSize เป็น 60
หน้าจอจะคล้ายคลึงกับตัวอย่างนี้ ซึ่งแสดงเรกคอร์ดทั้งหมดในแหล่งข้อมูล:
ดูรายละเอียด
ถ้าแกลเลอรีไม่แสดงข้อมูลที่คุณต้องการ เลือกลูกศรสำหรับเรกคอร์ดเพื่อเปิดหน้าจอรายละเอียด ตัวควบคุม แสดงฟอร์ม บนหน้าจอจะแสดงฟิลด์เพิ่มเติม อาจทั้งหมด สำหรับเรกคอร์ดที่คุณเลือก
ตัวควบคุม แสดงฟอร์ม ใช้คุณสมบัติสองอย่างเพื่อแสดงเรกคอร์ด:
- คุณสมบัติ DataSource ชื่อของแหล่งข้อมูลที่จัดเก็บเรกคอร์ด คุณสมบัตินี้จะเติมฟิลด์ในแผงข้อมูลด้านขวาและกำหนดชื่อที่แสดงและชนิดข้อมูล (สตริง หมายเลข วัน และอื่นๆ) ของแต่ละฟิลด์
- คุณสมบัติ รายการ เรกคอร์ดที่จะแสดง คุณสมบัตินี้มักจะเชื่อมต่อกับคุณสมบัติ ถูกเลือก ของตัวควบคุม แกลเลอรี เพื่อให้ผู้ใช้สามารถเลือกเรกคอร์ดใน แกลเลอรี แล้วดูรายละเอียดเรกคอร์ดนั้นได้
เมื่อคุณสมบัติ DataSource ถูกตั้งค่า คุณสามารถเพิ่มและเอาฟิลด์ออกผ่านทางบานหน้าต่างด้านขวา และเปลี่ยนวิธีการที่แสดงผลได้
บนหน้าจอนี้ ผู้ใช้ไม่สามารถเปลี่ยนค่าใด ๆ ของเรกคอร์ดโดยตั้งใจหรือโดยบังเอิญได้ ตัวควบคุมการ แสดงฟอร์ม เป็นตัวควบคุมแบบอ่านอย่างเดียว ดังนั้นตัวควบคุมจะไม่ปรับเปลี่ยนเรกคอร์ด
ในการเพิ่มตัวควบคุม แสดงฟอร์ม
- เพิ่มหน้าจอ จากนั้น เพิ่มตัวควบคุม แสดงฟอร์ม ลงไป
- ตั้งค่าคุณสมบัติ DataSource ของตัวควบคุมฟอร์มเป็น 'Ice Cream'
ในบานหน้าต่างด้านขวา คุณสามารถเลือกฟิลด์ที่แสดงบนหน้าจอของคุณและชนิดของการ์ดที่จะแสดงสำหรับแต่ละฟิลด์ เมื่อคุณทำการเปลี่ยนแปลงในบานหน้าต่างด้านขวา คุณสมบัติของ DataField บนตัวควบคุม การ์ด แต่ละตัวจะถูกตั้งค่าไปยังฟิลด์ที่ผู้ใช้จะโต้ตอบด้วย หน้าจอของคุณควรมีลักษณะดังนี้:
ในตอนท้าย เราจำเป็นต้องเชื่อมต่อตัวควบคุม แสดงฟอร์ม กับตัวควบคุม แกลเลอรี เพื่อให้เราสามารถดูรายละเอียดในเรกคอร์ดที่ระบุได้ ทันทีที่เราตั้งค่าคุณสมบัติ รายการ แล้ว เรกคอร์ดแรกจากแกลเลอรี่จะปรากฎในฟอร์มของเรา
ตั้งค่าคุณสมบัติ รายการ ของตัวควบคุมการ แสดงฟอร์ม เป็น Gallery1.Selected
รายละเอียดสำหรับรายการที่เลือกที่ปรากฏในแบบฟอร์ม
ยอดเยี่ยม ในตอนนี้เราจะกลับไปยังการนำทาง: วิธีการที่ผู้ใช้เปิดหน้าจอรายละเอียดจากหน้าจอแกลเลอรี และเปิดหน้าจอแกลเลอรีจากหน้าจอรายละเอียด
เพิ่มตัวควบคุม ปุ่ม ตั้งค่าคุณสมบัติ ข้อความ ของปุ่มให้แสดง กลับ และตั้งค่าคุณสมบัติ OnSelect ให้เป็น Back()
สูตรนี้จะส่งผู้ใช้กลับไปยังแกลเลอรีเมื่อดูรายละเอียดเสร็จสิ้นแล้ว
ในตอนนี้ ย้อนกลับไปที่ตัวควบคุม แกลเลอรี และเพิ่มการนำทางไปยังหน้าจอรายละเอียดของเรา
สลับไปยังหน้าจอแรก ซึ่งโฮสต์ตัวควบคุม แกลเลอรี ของเรา และเลือกลูกศรในรายการแรกในแกลเลอรี
ตั้งค่าคุณสมบัติ OnSelect ของรูปทรงเป็นสูตรดังนี้:
Navigate( Screen2, None )กด F5 จากนั้นเลือกลูกศรในแกลเลอรีเพื่อแสดงรายละเอียดสำหรับรายการ
เลือกปุ่ม กลับ เพื่อกลับไปยังแกลเลอรีของผลิตภัณฑ์ แล้วกด Esc
การแก้ไขรายละเอียด
สุดท้ายนี้ กิจกรรมหลักสุดท้ายของเราคือการเปลี่ยนแปลงเนื้อหาของเรกคอร์ด ซึ่งผู้ใช้จะทำให้สำเร็จในตัวควบคุม แก้ไขฟอร์ม
ตัวควบคุม แก้ไขฟอร์ม ใช้คุณสมบัติสองอย่างเพื่อแสดงและแก้ไขเรกคอร์ด:
- คุณสมบัติ DataSource ชื่อของแหล่งข้อมูลที่จัดเก็บเรกคอร์ด เพียงแค่ใช้ตัวควบคุม แสดงฟอร์ม คุณสมบัตินี้จะเติมฟิลด์ในบานหน้าต่างด้านขวาและกำหนดชื่อที่แสดงและชนิดข้อมูล (สตริง หมายเลข วัน และอื่นๆ) ของแต่ละฟิลด์ คุณสมบัตินี้ยังกำหนดว่าค่าของแต่ละฟิลด์นั้นถูกต้อง ก่อนที่จะส่งไปยังแหล่งข้อมูลพื้นฐาน
- คุณสมบัติ รายการ เรกคอร์ดที่จะแก้ไข ซึ่งมักจะเชื่อมต่อกับคุณสมบัติ ถูกเลือก ของตัวควบคุม แกลเลอรี ด้วยวิธีนี้ คุณสามารถเลือกเรกคอร์ดในตัวควบคุม แกลเลอรี ซึ่งแสดงในหน้าจอรายละเอียด และแก้ไขในหน้าจอ แก้ไขและสร้าง ได้
เมื่อต้องการเพิ่มตัวควบคุม แก้ไขฟอร์ม:
- เพิ่มหน้าจอ เพิ่มตัวควบคุม แก้ไขฟอร์ม จากนั้น ตั้งค่าคุณสมบัติ DataSource ของฟอร์มเป็น 'Ice Cream'
- ตั้งค่าคุณสมบัติ รายการ เป็น Gallery1.Selected
ในตอนนี้ คุณสามารถเลือกฟิลด์ที่จะจะแสดงบนหน้าจอได้แล้ว คุณยังสามารถเลือกชนิดของการ์ดที่จะแสดงสำหรับแต่ละฟิลด์ได้ ในขณะที่คุณทำการเปลี่ยนแปลงในบานหน้าต่างด้านขวา คุณสมบัติ DataField ของตัวควบคุม การ์ด แต่ละตัวจะถูกตั้งค่าไปยังฟิลด์ที่ผู้ใช้จะโต้ตอบด้วย หน้าจอของคุณควรมีลักษณะดังนี้:
คุณสมบัติทั้งสองนี้จะเหมือนกับคุณสมบัติบนตัวควบคุม แสดงฟอร์ม และเพียงเท่านี้ เราจึงสามารถแสดงรายละเอียดของเรกคอร์ดนั้นได้
ตัวควบคุม แก้ไขฟอร์ม สามารถไปได้ไกลขึ้น โดยการเสนอฟังก์ชัน SubmitForm เพื่อเขียนการเปลี่ยนแปลงกลับไปยังแหล่งข้อมูล คุณใช้ฟังก์ชันกับตัวควบคุมปุ่มหรือรูปเมื่อต้องบันทึกการเปลี่ยนแปลงของผู้ใช้
- เพิ่มตัวควบคุม ปุ่ม ตั้งค่าคุณสมบัติ ข้อความ ของปุ่มให้แสดง บันทึก และตั้งค่าคุณสมบัติ OnSelect ของปุ่มเป็นสูตรนี้:
SubmitForm( Form1 )
เมื่อต้องเพิ่มการนำทางไปยังหรือจากหน้าจอนี้:
เพิ่มตัวควบคุม ปุ่ม อีกตัว ตั้งค่าคุณสมบัติ**ข้อความ** เพื่อแสดง ยกเลิก และตั้งค่าคุณสมบัติของ OnSelect เป็นสูตรนี้:
ResetForm( Form1 ); Back()สูตรนี้จะละทิ้งการแก้ไขที่ไม่ได้บึนทึกใด ๆ และเปิดหน้าจอก่อนหน้าขึ้นมา
ตั้งค่าคุณสมบัติ OnSuccess ของฟอร์มเป็น Back()
เมื่อการปรับปรุงถูกบันทึกเสร็จสมบูรณ์ หน้าจอก่อนหน้า (ในกรณีนี้คือ หน้าจอรายละเอียด) จะเปิดขึ้นโดยอัตโนมัติ
บนหน้าจอ แสดงผล ให้เพิ่มปุ่มแล้วตั้งค่าคุณสมบัติ ข้อความ ให้แสดง แก้ไข และตั้งค่าคุณสมบัติ OnSelect เป็นสูตรดังนี้:
Navigate( Screen3, None )
คุณได้สร้างแอปแบบพื้นฐานที่มีสามหน้าจอสำหรับดูและใส่ข้อมูลแล้ว เมื่อต้องการลองใช้งาน ให้แสดงหน้าจอแกลเลอรี แล้วกด F5 (หรือเลือกปุ่ม "แสดงตัวอย่าง" ที่เป็นรูปลูกศรไปข้างหน้าใกล้กับมุมซ้ายบนของหน้าจอ) จุดสีชมพูจะระบุตำแหน่งที่ผู้ใช้คลิกหรือแตะหน้าจอในแต่ละขั้นตอน
สร้างเรกคอร์ด
ผู้ใช้จะโต้ตอบกับฟอร์ม แก้ไขเดียวกันเพื่อปรับปรุงและสร้างเรกคอร์ด เมื่อผู้ใช้ต้องการสร้างเรกคอร์ด ฟังก์ชัน NewForm จะสลับแบบฟอร์มเป็นโหมดใหม่
เมื่อฟอร์มอยู่ในโหมด ใหม่ ค่าของแต่ละฟิลด์จะถูกตั้งค่าเป็นค่าเริ่มต้นของแหล่งข้อมูล เรกคอร์ดที่กำหนดให้กับคุณสมบัติ รายการ ของฟอร์มจะถูกละเว้น
เมื่อผู้ใช้พร้อมบันทึกเรกคอร์ดใหม่ SubmitForm จะทำงาน หลังจากฟอร์มถูกส่งเสร็จเรียบร้อยแล้ว ฟอร์มจะสลับกลับไปยัง EditMode
บนหน้าจอแรก คุณจะต้องเพิ่มปุ่ม ใหม่:
บนหน้าจอที่มีแกลเลอรี เพิ่มตัวควบคุม ปุ่ม
ตั้งค่าคุณสมบัติ ข้อความ ของปุ่มเป็น ใหม่ และให้คุณสมบัติ OnSelect เป็นสูตรดังนี้:
NewForm( Form1 ); Navigate( Screen3, None )สูตรนี้จะสลับตัวควบคุม แก้ไขฟอร์ม บน Screen3 เป็นโหมด ใหม่ และเปิดหน้าจอขึ้นเพื่อให้ผู้ใช้สามารถกรอกข้อมูลได้
เมื่อหน้าจอการแก้ไขและสร้างเปิดขึ้น ฟอร์มจะว่างเปล่าและพร้อมใช้งานสำหรับให้ผู้ใช้เพิ่มรายการ เมื่อผู้ใช้เลือกปุ่ม บันทึก ฟังก์ชัน SubmitForm จะทำให้แน่ใจว่าเรกคอร์ดถูกสร้างขึ้นแทนที่จะถูกปรับปรุง ถ้าผู้ใช้เลือกปุ่ม ยกเลิก ฟังก์ชัน ResetForm จะสลับฟอร์มกลับไปเป็นโหมด แก้ไข และฟังก์ชัน กลับ จะเปิดหน้าจอสำหรับการเรียกดูแกลเลอรีขึ้นมา
ลบเรกคอร์ด
บนหน้าจอ แสดงผล ให้เพิ่มปุ่มแล้วตั้งค่าคุณสมบัติ ข้อความ ให้แสดง ลบ
ตั้งค่าคุณสมบัติ OnSelect ของปุ่มเป็นสูตรดังนี้:
Remove( 'Ice Cream', Gallery1.Selected ); Back()
การจัดการข้อผิดพลาด
ในแอปนี้ ข้อผิดพลาดเกิดขึ้นเมื่อค่าของฟิลด์ไม่ถูกต้อง ฟิลด์ที่จำเป็นมีค่าว่างเปล่า คุณถูกยกเลิกการเชื่อมต่อกับเครือข่าย หรือปัญหาอื่น ๆ ที่ปรากฏขึ้นจำนวนมาก
ถ้า SubmitForm ล้มเหลวด้วยเหตุใดก็ตาม คุณสมบัติ ข้อผิดพลาด ของตัวควบคุม แก้ไขฟอร์ม จะมีข้อความแสดงข้อผิดพลาดแสดงให้ผู้ใช้ ด้วยข้อมูลนี้ ผู้ใช้ควรจะสามารถแก้ไขปัญหาและส่งการเปลี่ยนแปลงอีกครั้งหนึ่ง หรือสามารถยกเลิกการปรับปรุงได้
บนหน้าจอแก้ไขและสร้าง เพิ่มตัวควบคุม ป้ายชื่อ และย้ายไปด้านล่างของปุ่ม บันทึก จะทำให้เห็นข้อผิดพลาดใด ๆ ได้ง่าย หลังจากที่ผู้ใช้เลือกตัวควบคุมนี้เพื่อบันทึกการเปลี่ยนแปลง
ตั้งค่าคุณสมบัติ ข้อความ ของตัวควบคุม ป้ายชื่อ เพื่อแสดง Form1.Error
ในแอปที่ Power Apps สร้างขึ้นจากข้อมูล คุณสมบัติ AutoHeight ของตัวควบคุมนี้จะถูกตั้งค่าเป็น จริง เพื่อให้ไม่มีการใช้ช่องว่างถ้าไม่มีข้อผิดพลาดเกิดขึ้น คุณสมบัติ ความสูง และ Y ของตัวควบคุม แก้ไขฟอร์ม ยังปรับปรุงแบบไดนามิกโดยคิดจากการขยายของตัวควบคุมนี้เมื่อเกิดข้อผิดพลาดขึ้น สำหรับรายละเอียดเพิ่มเติม สร้างแอปจากข้อมูลที่มีอยู่ และตรวจสอบคุณสมบัติเหล่านี้ ตัวควบคุมกล่องข้อความสำหรับข้อผิดพลาดจะสั้นมากเมื่อไม่มีข้อผิดพลาดเกิดขึ้น คุณอาจจำเป็นต้องเปิดมุมมอง ขั้นสูง (อยู่บนแท็บ มุมมอง) เพื่อเลือกตัวควบคุมนี้
รีเฟรชข้อมูล
แหล่งข้อมูลจะถูกรีเฟรชเมื่อใดก็ตามที่ผู้ใช้เปิดแอป แต่ผู้ใช้อาจต้องการรีเฟรชเรกคอร์ดในแกลเลอรีโดยไม่ต้องปิดแอป เพิ่มปุ่ม รีเฟรช เพื่อให้ผู้ใช้สามารถเลือกเพื่อรีเฟรชข้อมูลด้วยตนเอง:
บนหน้าจอตัวควบคุม แกลเลอรี ให้เพิ่มตัวควบคุม ปุ่ม และตั้งค่าคุณสมบัติ ข้อความ ให้แสดง รีเฟรช
ตั้งค่าคุณสมบัติ OnSelect ของตัวควบคุมนี้เป็นสูตรดังนี้:
Refresh( 'Ice Cream' )
ค้นหาและเรียงลำดับแกลเลอรี
ในแอปที่ Power Apps สร้างขึ้นจากข้อมูล เราละเลยการพูดคุยเกี่ยวกับตัวควบคุมที่สองที่ด้านบนของหน้าจอดูข้อมูล การใช้ตัวควบคุมเหล่านี้จะทำให้ผู้ใช้สามารถค้นหาเรกคอร์ดหนึ่งเรกคอร์ดหรือมากกว่านั้น โดยเรียงลำดับรายการของเรกคอร์ดตามลำดับน้อยไปหามากหรือจากมากไปหาน้อยหรือทั้งสองอย่างได้
เมื่อผู้ใช้เลือกปุ่มจัดเรียง ลำดับการจัดเรียงของแกลเลอรีจะย้อนกลับ เมื่อต้องสร้างลักษณะการทำงานนี้ เราจะใช้ ตัวแปรบริบท เพื่อติดตามทิศทางที่จะเรียงลำดับแกลเลอรี เมื่อผู้ใช้เลือกปุ่ม ตัวแปรจะถูกปรับปรุงและทิศทางจะย้อนกลับ คุณสมบัติ OnSelect ของปุ่มจัดเรียงจะถูกตั้งค่าเป็นสูตรนี้: UpdateContext( {SortDescending1: SortDescending1} )
ฟังก์ชัน UpdateContext จะสร้างตัวแปรบริบท SortDescending1 ขึ้นถ้ายังไม่มีตัวแปรนี้อยู่แต่แรก ฟังก์ชันจะอ่านค่าของตัวแปรและตั้งค่าเป็นตรรกะตรงกันข้ามโดยใช้ ! ตัวดำเนินการ ถ้าค่าเป็น จริง จะกลายเป็น เท็จ ถ้าค่าเป็น เท็จ จะกลายเป็น จริง
สูตรของคุณสมบัติ รายการ ของตัวควบคุม แกลเลอรี จะใช้ตัวแปรนี้บริบทพร้อมกับข้อความในตัวควบคุม TextSearchBox1:
Sort(
If( IsBlank(TextSearchBox1.Text),
Assets,
Filter( Assets, TextSearchBox1.Text in Text(ApproverEmail) )
),
ApproverEmail,
If(SortDescending1, Descending, Ascending)
)
ลองดูรายละเอียด:
ภายนอก เรามีฟังก์ชัน เรียงลำดับ ซึ่งใช้สามอาร์กิวเมนต์: ตาราง ฟิลด์ที่จะเรียงลำดับ และทิศทางในการเรียงลำดับ
- ทิศทางในการเรียงลำดับจะถูกนำมาจากตัวแปรบริบทที่สลับเมื่อผู้ใช้เลือกตัวควบคุม ImageSortUpDown1 ค่า จริง/เท็จ จะถูกแปลเป็นค่าคงที่ จากมากไปหาน้อย และ จากน้อยไปหามาก
- ฟิลด์สำหรับการเรียงลำดับจะถูกแก้ไขเป็น ApproverEmail ถ้าคุณเปลี่ยนฟิลด์ที่ปรากฏในแกลเลอรี คุณจะต้องเปลี่ยนอาร์กิวเมนต์นี้เช่นกัน
ภายใน เรามีฟังก์ชัน ตัวกรอง ซึ่งนำตารางมาเป็นอาร์กิวเมนต์และนิพจน์เพื่อประเมินสำหรับแต่ละเรกคอร์ด
- ตารางเป็นแบบแหล่งข้อมูล สินทรัพย์ ดิบ ซึ่งเป็นจุดเริ่มต้นก่อนที่จะกรองหรือเรียงลำดับ
- นิพจน์จะค้นหาอินสแตนซ์ของสตริงใน TextSearchBox1 ภายในฟิลด์ ApproverEmail อีกครั้ง ถ้าคุณเปลี่ยนฟิลด์ที่ปรากฏในแกลเลอรี คุณก็ต้องอัปเดตอาร์กิวเมนต์นี้ด้วย
- ถ้า TextSearchBox1 ว่างเปล่า ผู้ใช้ต้องการแสดงเรกคอร์ดทั้งหมด และฟังก์ชัน ตัวกรอง จะถูกข้าม
นี่เป็นหนึ่งตัวอย่าง คุณสามารถสร้างสูตรของคุณเองสำหรับคุณสมบัติ รายการ ได้ โดยขึ้นอยู่กับความต้องการของแอปของคุณ ด้วยการเขียนฟังก์ชัน ตัวกรอง เรียงลำดับ และฟังก์ชันอื่น ๆ พร้อมตัวดำเนินการต่าง ๆ
การออกแบบหน้าจอ
จนถึงปัจจุบันนี้ เรายังไม่ได้กล่าวถึงวิธีอื่น ๆ ในการกระจายตัวควบคุมผ่านหลายหน้าจอ ซึ่งเป็นเพราะว่าคุณมีตัวเลือกมากมาย และตัวเลือกที่ดีที่สุดขึ้นอยู่กับความต้องการเฉพาะของแอปของคุณ
เนื่องจากเนื้อที่บนหน้าจอโทรศัพท์นั้นมีจำกัด คุณอาจต้องการเรียกดู แสดง และแก้ไข/สร้างบนหน้าจอที่ต่างกัน ในหัวข้อนี้ ฟังก์ชัน Navigate และ Back จะเปิดหน้าจอแต่ละหน้าขึ้น
บนแท็บเล็ต คุณสามารถเรียกดู แสดง และแก้ไข/สร้างบนหน้าจอสองหน้าจอหรือแม้กระทั่งหนึ่งหน้าจอได้ สำหรับส่วนท้าย ฟังก์ชัน Navigate หรือ Back อาจจำเป็น
ถ้าผู้ใช้กำลังทำงานบนหน้าจอเดียวกัน คุณต้องระวังว่าผู้ใช้ไม่สามารถเปลี่ยนส่วนที่เลือกใน แกลเลอรี ได้ และอาจจะสูญเสียการแก้ไขในตัวควบคุม ฟอร์มแก้ไข เพื่อป้องกันไม่ให้ผู้ใช้เลือกเรกคอร์ดที่แตกต่างกันเมื่อยังไม่ได้บันทึกการเปลี่ยนแปลงไปยังเรกคอร์ดอื่น ให้ตั้งค่าคุณสมบัติ**Disabled** ของแกลเลอรีให้เป็นสูตรนี้:
EditForm.Unsaved
หมายเหตุ
บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)
แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)