ตัวควบคุม แกลเลอรี ใน Power Apps
ตัวควบคุมที่มีตัวควบคุมอื่นและแสดงชุดข้อมูล
คำอธิบาย
การควบคุม แกลเลอรี สามารถแสดงเรกคอร์ดหลายรายการจากแหล่งข้อมูล และแต่ละเรกคอร์ดจะมีข้อมูลหลายชนิด ตัวอย่างเช่น ใช้ตัวควบคุม แกลเลอรี เพื่อแสดงผู้ติดต่อหลายรายโดยที่แต่ละรายการแสดงข้อมูลติดต่อที่มีทั้งชื่อ ที่อยู่ และหมายเลขโทรศัพท์สำหรับผู้ติดต่อแต่ละราย
ฟิลด์ข้อมูลแต่ละฟิลด์ปรากฏในตัวควบคุมที่แยกต่างหากภายในตัวควบคุม แกลเลอรี และคุณสามารถกำหนดค่าตัวควบคุมเหล่านั้นได้ในเทมเพลต เทมเพลตปรากฏเป็นรายการแรกภายในแกลเลอรี:
- บนขอบด้านซ้ายของตัวควบคุม แกลเลอรี ในการวางแนวตามแนวนอน/ในแนวนอน
- และที่ด้านบนของตัวควบคุม แกลเลอรี ในการวางแนวตามแนวตั้ง/ในแนวตั้ง
การเปลี่ยนแปลงใดๆ ที่คุณทำในเทมเพลตจะส่งผลทั่วทั้งตัวควบคุม แกลเลอรี
เทมเพลตแกลเลอรีที่กำหนดไว้ล่วงหน้าสำหรับการแสดงรูปภาพและข้อความในแกลเลอรีจะพร้อมใช้งาน และแกลเลอรีสำหรับรายการความสูงที่เปลี่ยนแปลงได้
ข้อจำกัด
ตัวควบคุมแกลเลอรีมีข้อจำกัดดังต่อไปนี้
- หากผู้ใช้เลื่อนตัวควบคุมแกลเลอรี ความสูงที่ยืดหยุ่นได้ ก่อนที่จะโหลดรายการทั้งหมด รายการที่ในปัจจุบันอยู่ในมุมมองอาจถูกผลักลงและออกจากมุมมอง เมื่อการโหลดข้อมูลเสร็จสิ้น เพื่อหลีกเลี่ยงปัญหานี้ ให้ใช้ตัวควบคุม แกลเลอรี มาตรฐานแทนตัวแปร ความสูงที่ยืดหยุ่นได้
- ไม่รองรับตัวควบคุมต่อไปนี้ภายในแกลเลอรี:
- คุณสามารถเพิ่มแกลเลอรีได้เพียงหนึ่งแกลเลอรีภายในแกลเลอรีอื่น
- ค่า TemplateSize ต่ำสุดคือหนึ่ง ซึ่งอาจทำให้ตัวควบคุมใน แกลเลอรี เบี่ยงเบนไปจากค่า X หรือ Y ที่คาดไว้ เมื่อคุณไม่ได้คำนึงถึงขนาดเทมเพลต
- ถ้าคุณสร้างแอปจากข้อมูลโดยอัตโนมัติ ให้บันทึกแอป แล้วเปิดขึ้นอีกครั้ง แกลเลอรีการเรียกดูอาจไม่แสดงข้อมูลโดยทันที เมื่อต้องการแก้ไขปัญหานี้ ให้พิมพ์อักขระอย่างน้อยหนึ่งตัวลงในกล่องค้นหา แล้วลบข้อความที่คุณพิมพ์ไว้ จากนั้น แกลเลอรีจะแสดงข้อมูลตามที่คาดไว้
- หากแกลเลอรีมีตัวควบคุม ComboBox, DatePicker, Slider หรือ Toggle พร้อมกฎ
OnChange
ที่แพตช์ แหล่งข้อมูล หรือคอลเลกชันเดียวกันกับแกลเลอรี สิ่งนี้อาจส่งผลให้ประสิทธิภาพการทำงานลดลงโดยไม่คาดคิดหรือเกิดขึ้นซ้ำๆ เนื่องจากกฎที่แก้ไข แหล่งข้อมูล ของแกลเลอรีอาจสร้างวัฏจักรของการแพตช์และโหลดซ้ำที่ไม่มีวันสิ้นสุดOnChange
เพื่อหลีกเลี่ยงปัญหานี้ ขอแนะนำไม่ให้ใช้กฎเมื่อวางตัวควบคุมเหล่านี้ไว้ภายในแกลเลอรีOnChange
คุณสมบัติที่สำคัญ
Default – รายการหรือเรกคอร์ดจากแหล่งข้อมูลที่จะถูกเลือกในแกลเลอรี เมื่อเริ่มต้นแอป
Items – แหล่งของข้อมูลที่ปรากฏในตัวควบคุม เช่น แกลเลอรี รายการ หรือแผนภูมิ
Selected – รายการที่เลือก
คุณสมบัติเพิ่มเติม
AccessibleLabel - ป้ายชื่อของแกลเลอรี่ (ไม่ใช่รายการที่มีอยู่) สำหรับโปรแกรมอ่านหน้าจอ ควรอธิบายว่ารายการคืออะไร
AllItems – รายการที่โหลดในแกลเลอรี ซึ่งอาจน้อยกว่าจำนวนจริงของ รายการ ของแหล่งข้อมูล อาจโหลดรายการเพิ่มเติมเมื่อเลื่อนแกลเลอรี AllItems ยังมีตัวควบคุมที่ใช้ในแต่ละรายการในแกลเลอรี
AllItemsCount – จำนวนรายการที่โหลดในแกลเลอรี ซึ่งอาจน้อยกว่าจำนวนจริงของ รายการ ของแหล่งข้อมูล อาจโหลดรายการเพิ่มเติมเมื่อเลื่อนแกลเลอรี
BorderColor – สีของเส้นขอบของตัวควบคุม
BorderStyle – กำหนดว่าเส้นขอบของตัวควบคุมจะเป็น ทึบ ประ จุด หรือ ไม่มี
BorderThickness – ความหนาของเส้นขอบของตัวควบคุม
DelayItemLoading - การโหลดรายการ (แถว) ล่าช้าจนกว่าจะโหลดหน้าจอในครั้งแรก
DisplayMode – กำหนดว่าตัวควบคุมจะอนุญาตให้ผู้ใช้ป้อนข้อมูล (แก้ไข) แสดงข้อมูลเท่านั้น (มุมมอง) หรือปิดใช้งาน (ปิดใช้งาน)
Fill – สีพื้นหลังของตัวควบคุม
Height – ระยะห่างระหว่างขอบด้านบนและด้านล่างของตัวควบคุม
ItemAccessibleLabel – ป้ายชื่อของรายการแกลเลอรีแต่ละรายการสำหรับโปรแกรมอ่านหน้าจอ ควรอธิบายว่าแต่ละรายการคืออะไร
LoadingSpinner (ไม่มี ตัวควบคุม หรือ Data) - เมื่อไม่มี ตัวหมุนจะไม่ปรากฏ เมื่อตัวควบคุม | ข้อมูล ตัวหมุนจะปรากฏขึ้น เมื่อมีการส่งการแสดงผลเกิดขึ้นซึ่งส่งผลต่อแถวเปล่าที่มองเห็นได้
LoadingSpinnerColor - สีสำหรับการเติมของตัวหมุนการโหลด ค่าเริ่มต้นถูกกำหนดเป็น BorderColor
NavigationStep – ระยะห่างของการเลื่อนในแกลเลอรี ถ้าคุณสมบัติ ShowNavigation ของแกลเลอรีถูกตั้งค่าเป็น จริง และผู้ใช้เลือกลูกศรการนำทางที่ส่วนท้ายด้านใดด้านหนึ่งของแกลเลอรีนั้น
Selectable - กำหนดว่าสามารถเลือกรายการแกลเลอรี่ได้หรือไม่ เมื่อตั้งค่าเป็น จริง ตัวอ่านหน้าจอจะระบุแกลเลอรี่เป็นรายการที่สามารถเลือกได้ และคุณเลือกรายการโดยการเลือกรายการนั้น เมื่อตั้งค่าเป็น เท็จ ตัวอ่านหน้าจอจะระบุแกลเลอรี่เป็นรายการปกติ และการเลือกรายการไม่ได้เลือกรายการนั้น
ShowNavigation – กำหนดว่าลูกศรจะปรากฏขึ้นที่ส่วนท้ายของแกลเลอรีแต่ละส่วนหรือไม่ เพื่อให้ผู้ใช้สามารถเลื่อนผ่านรายการต่างๆ ในแกลเลอรีโดยการเลือกลูกศร
ShowScrollbar – กำหนดว่าแถบเลื่อนปรากฏขึ้นเมื่อผู้ใช้โฮเวอร์เหนือแกลเลอรีหรือไม่
TemplateFill – สีพื้นหลังของแกลเลอรี
TemplatePadding – ระยะห่างระหว่างรายการในแกลเลอรี
TemplateSize – ความสูงของเทมเพลตสำหรับแกลเลอรี่ในแนวตั้ง/ตามแนวตั้ง หรือความกว้างของเทมเพลตสำหรับแกลเลอรี่ในแนวนอน/ตามแนวนอน ขนาดขั้นต่ำคือหนึ่ง
Transition – เอฟเฟ็กต์ภาพ (เปิด ผลัก หรือ ไม่มี) เมื่อผู้ใช้โฮเวอร์เหนือรายการในแกลเลอรี
Visible – กำหนดให้ตัวควบคุมแสดงอยู่หรือถูกซ่อน
Width – ระยะห่างระหว่างขอบด้านซ้ายและด้านขวาของตัวควบคุม
WrapCount – จำนวนรายการที่แสดงต่อแถวหรือคอลัมน์โดยยึดตามเค้าโครงแนวนอนหรือแนวตั้ง
X – ระยะห่างระหว่างขอบด้านซ้ายของตัวควบคุมและขอบด้านซ้ายของคอนเทนเนอร์หรือหน้าจอหลัก
Y – ระยะห่างระหว่างขอบด้านบนของตัวควบคุมและขอบด้านบนของคอนเทนเนอร์หลักหรือหน้าจอ
ฟังก์ชันที่เกี่ยวข้อง
Reset( Control ) - รีเซ็ตแกลเลอรีของคุณกลับสู่สถานะเริ่มต้น สถานะเริ่มต้นรวมถึงการเลื่อนไปที่รายการแรก และการเลือกรายการแรกหรือค่าเริ่มต้น หากมี
หมายเหตุ
ตัวควบคุม Reset จะไม่รีเซ็ตรายการรองทั้งหมดของแกลเลอรีแบบวนซ้ำ
ตัวอย่าง
แสดงและกรองข้อมูล
รับข้อมูลจากผู้ใช้
แนวทางการช่วยสำหรับการเข้าถึง
ความคมชัดของสี
ถ้าการคลิกที่ใดก็ได้ในรายการแกลเลอรีมีไว้เพื่อเลือก ต้องมีความคมชัดของสีที่เพียงพอระหว่าง:
- BorderColor และสีภายนอกแกลเลอรี (ถ้ามีเส้นขอบ)
- Fill และสีภายนอกแกลเลอรี (ถ้าไม่มีเส้นขอบ)
การสนับสนุนตัวอ่านหน้าจอ
ต้องมี AccessibleLabel
หมายเหตุ
ตัวอ่านหน้าจอจะประกาศ เมื่อรายการในแกลเลอรีเปลี่ยนแปลง ยังมีการกล่าวถึง AccessibleLabel อีกด้วย ซึ่งให้บริบทสำหรับประกาศ และจะสำคัญมากยิ่งขึ้นเมื่อมีหลายแกลเลอรีบนหน้าจอเดียวกัน
เมื่อรายการแกลเลอรี่มีหลายตัวควบคุม ให้ใช้ ItemAccessibleLabel เพื่อแสดงเนื้อหาของรายการแกลเลอรี่
กำหนดค่าของ Selectable เป็น จริง หากคุณต้องการให้ผู้ใช้เลือกรายการแกลเลอรี่ มิฉะนั้น ให้ตั้งค่านั้นเป็น เท็จ
เมื่อรายการแกลเลอรี่มีหลายตัวควบคุม ให้ใช้ ItemAccessibleLabel เพื่อให้สรุปของเนื้อหาของรายการแกลเลอรี่
Selectable ควรถูกตั้งค่าอย่างเหมาะสม ทั้งนี้ขึ้นอยู่กับว่าผู้ใช้มีวัตถุประสงค์เพื่อเลือกรายการแกลเลอรี่หรือไม่
การรองรับแป้นพิมพ์
ลองใช้การตั้งค่า ShowScrollbar เป็น จริง บนอุปกรณ์แบบหน้าจอสัมผัสส่วนใหญ่ แถบเลื่อนจะไม่แสดงจนกว่าจะเริ่มการเลื่อน
ถ้าการคลิกที่ใดก็ได้ในรายการแกลเลอรีมีไว้เพื่อเลือก ต้องมีวิธีสำหรับผู้ใช้แป้นพิมพ์ในการเลือกรายการแกลเลอรีด้วย ตัวอย่างเช่น การเพิ่ม ปุ่ม ที่มีคุณสมบัติ OnSelect ที่ตั้งค่าเป็น Select(Parent)
หมายเหตุ
ไม่พิจารณาตัวควบคุมภายนอกแกลเลอรีตามลำดับการนำทางของแป้นพิมพ์ภายในแกลเลอรี ตัวควบคุม TabIndex ภายในแกลเลอรีจะถูกจำกัดขอบเขต ดู คุณสมบัติการเข้าถึง เพื่อเรียนรู้เพิ่มเติม
ดูเพิ่มเติม
ใช้สปินเนอร์ DelayItemLoading และ Loading เพื่อปรับปรุงประสิทธิภาพในแกลเลอรี
หมายเหตุ
บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)
แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)