แชร์ผ่าน


ตัวควบคุมแกลเลอรีใน Power Apps

ตัวควบคุมที่ประกอบด้วยตัวควบคุมอื่น ๆ และแสดงชุดของข้อมูล

คำอธิบาย

ตัวควบคุม แกลเลอรี สามารถแสดงหลายระเบียนจากแหล่งข้อมูล และแต่ละระเบียนสามารถมีหลายชนิดข้อมูลได้ ตัวอย่างเช่น ใช้ตัวควบคุม แกลเลอรี เพื่อแสดงผู้ติดต่อหลายรายโดยมีแต่ละรายการที่แสดงข้อมูลติดต่อที่มีชื่อ ที่อยู่ และหมายเลขโทรศัพท์สําหรับผู้ติดต่อแต่ละราย

เขตข้อมูลแต่ละเขตจะปรากฏในตัวควบคุมที่แยกต่างหากภายในตัวควบคุม แกลเลอรี และคุณสามารถกําหนดค่าตัวควบคุมเหล่านั้นในเทมเพลตได้ด้วย เทมเพลตจะปรากฏเป็นรายการแรกภายในแกลเลอรี:

  • ที่ขอบด้านซ้ายของตัวควบคุม แกลเลอรี ตามการวางแนวตามแนวนอน
  • และที่ด้านบนของตัวควบคุม แกลเลอรี ในแนวตั้ง/การวางแนว

การเปลี่ยนแปลงใด ๆ ที่คุณทําในเทมเพลตจะปรากฏทั่วทั้งตัวควบคุม แกลเลอรี

เทมเพลตที่กําหนดไว้ล่วงหน้าสําหรับการแสดงรูปภาพและข้อความในแกลเลอรีจะพร้อมใช้งาน และแกลเลอรีสําหรับรายการที่มีความสูงตัวแปร

Limitations

ตัวควบคุมแกลเลอรีมีข้อจํากัดเหล่านี้:

  1. ถ้าผู้ใช้เลื่อนตัวควบคุม แกลเลอรี ที่มีความสูงแบบยืดหยุ่น ก่อนที่จะโหลดรายการทั้งหมด รายการที่อยู่ในมุมมองปัจจุบันอาจถูกผลักลงและอยู่นอกมุมมองเมื่อการโหลดข้อมูลเสร็จสิ้น เมื่อต้องการหลีกเลี่ยงปัญหานี้ ให้ใช้ตัวควบคุม แกลเลอรี มาตรฐานแทนตัวแปร ความสูงแบบยืดหยุ่น
  2. ตัวควบคุมต่อไปนี้ไม่ได้รับการสนับสนุนภายในแกลเลอรี:
  3. คุณไม่สามารถเพิ่มแกลเลอรีภายในแกลเลอรีอื่นได้ถ้าภาพหลังอยู่ในแกลเลอรีอื่นแล้ว ระดับสูงสุดของการซ้อนคือ 2
  4. TemplateSize ต่ําสุดคือหนึ่ง ซึ่งอาจทําให้ตัวควบคุมใน แกลเลอรี ลอยตัวจากค่า X หรือ Y ที่คาดไว้ เมื่อคุณไม่กําหนดขนาดเทมเพลต
  5. ถ้าคุณสร้างแอปจากข้อมูลโดยอัตโนมัติ ให้บันทึกแอป แล้วเปิดขึ้นอีกครั้ง แกลเลอรีการเรียกดูอาจไม่แสดงข้อมูลโดยทันที เมื่อต้องการแก้ไขปัญหานี้ ให้พิมพ์อักขระอย่างน้อยหนึ่งตัวลงในกล่องค้นหา แล้วลบข้อความที่คุณพิมพ์ไว้ จากนั้น แกลเลอรีจะแสดงข้อมูลตามที่คาดไว้
  6. ถ้าแกลเลอรีมีตัวควบคุม ComboBox, DatePicker, Slider หรือ Toggle พร้อม OnChange กฎที่แก้ไขแหล่งข้อมูลหรือคอลเลกชันเดียวกันเป็นแกลเลอรี อาจนําไปสู่ประสิทธิภาพที่ไม่คาดคิดหรือลดลง ทั้งนี้เนื่องจากกฎ OnChange ที่แก้ไขแหล่งข้อมูลของแกลเลอรีสามารถสร้างรอบการโปรแกรมแก้ไขและการโหลดแบบไม่มีที่สิ้นสุดได้ เพื่อหลีกเลี่ยงปัญหานี้ ไม่ควรใช้ OnChange กฎเมื่อวางตัวควบคุมเหล่านี้ไว้ภายในแกลเลอรี

คุณสมบัติที่สำคัญ

Default – รายการหรือระเบียนจากแหล่งข้อมูลที่จะเลือกในแกลเลอรีเมื่อเริ่มต้นแอป

Items – แหล่งข้อมูลที่ปรากฏในตัวควบคุม เช่น แกลเลอรี รายการ หรือแผนภูมิ

Selected – รายการที่เลือก

คุณสมบัติเพิ่มเติม

AccessibleLabel – ป้ายชื่อของแกลเลอรี (ไม่ใช่รายการที่มี) สําหรับโปรแกรมอ่านหน้าจอ ควรอธิบายว่ารายการข้อมูลคืออะไร

AllItems – รายการที่โหลดในแกลเลอรี ซึ่งอาจ น้อยกว่าจํานวนจริง ของรายการแหล่งข้อมูล อาจโหลดรายการเพิ่มเติมเมื่อมีการเลื่อนแกลเลอรี AllItems ยังประกอบด้วยตัวควบคุมที่ใช้ในแต่ละรายการของแกลเลอรี

AllItemsCount - จํานวนรายการที่โหลดในแกลเลอรี ซึ่งอาจ น้อยกว่าจํานวนจริง ของรายการแหล่งข้อมูล อาจโหลดรายการเพิ่มเติมเมื่อมีการเลื่อนแกลเลอรี

BorderColor – สีเส้นขอบของตัวควบคุม

BorderStyle – กําหนดว่าเส้นขอบของตัวควบคุมจะเป็น เส้นทึบเส้นประเส้นไข่ปลา หรือ ไม่มี

BorderThickness – ความหนาของเส้นขอบของตัวควบคุม

DelayItemLoading - หน่วงเวลาการโหลดรายการ (แถว) จนกว่าจะหลังจากโหลดหน้าจอครั้งแรก

DisplayMode – กําหนดว่าตัวควบคุมจะอนุญาตให้ผู้ใช้ป้อนข้อมูล (แก้ไข) แสดงข้อมูลเท่านั้น (ดู) หรือถูกปิดใช้งาน (ปิดใช้งาน)

Fill – สีพื้นหลังของตัวควบคุม

Height – ระยะห่างระหว่างขอบด้านบนและด้านล่างของตัวควบคุม

ItemAccessibleLabel – ป้ายชื่อของแต่ละรายการแกลเลอรีสําหรับโปรแกรมอ่านหน้าจอ ควรอธิบายว่าแต่ละรายการคืออะไร

LoadingSpinner (ไม่มีตัวควบคุม หรือ ข้อมูล) - เมื่อไม่มี Spinner จะไม่แสดง เมื่อตัวควบคุม | ตัวควบคุม ข้อมูล spinner จะแสดงเมื่อการส่งผ่านการแสดงผลเกิดขึ้นซึ่งส่งผลให้แถวว่างเปล่าที่มองเห็นได้

LoadingSpinnerColor - สีเติมของสปินเนอร์การโหลด ค่าเริ่มต้นถูกตั้งค่าเป็น BorderColor

NavigationStep ระยะห่างของการเลื่อนในแกลเลอรีถ้าคุณสมบัติ ShowNavigation ของแกลเลอรีถูกตั้งค่าเป็น จริง และผู้ใช้เลือกลูกศรนําทางที่ส่วนท้ายของแกลเลอรีนั้น

Selectable – เลือกรายการแกลเลอรีได้หรือไม่ เมื่อตั้งค่าเป็น จริง โปรแกรมอ่านหน้าจอจะระบุแกลเลอรีเป็นรายการที่เลือกได้ และคุณเลือกรายการโดยการเลือกรายการนั้น เมื่อตั้งค่าเป็น false โปรแกรมอ่านหน้าจอจะระบุแกลเลอรีเป็นรายการปกติ และการเลือกรายการจะไม่เลือกรายการนั้น

ShowNavigation – เลือกว่าจะแสดงลูกศรที่ปลายของแกลเลอรีหรือไม่ เพื่อให้ผู้ใช้สามารถเลื่อนผ่านรายการในแกลเลอรีโดยการเลือกลูกศร

ShowScrollbar – เลือกว่าจะแถบเลื่อนหรือไม่ เมื่อผู้ใช้โฮเวอร์เหนือแกลเลอรี

TemplateFill – สีพื้นหลังของแกลเลอรี

TemplatePadding – ระยะห่างระหว่างรายการในแกลเลอรี

TemplateSize – ความสูงของเทมเพลตสําหรับแกลเลอรีแนวตั้ง หรือความกว้างของแม่แบบสําหรับแกลเลอรีตามการวางแนวตามแนวนอน ขนาดต่ําสุดคือหนึ่ง

Transition – เอฟเฟ็กต์ภาพ (Pop, Push หรือ None) เมื่อผู้ใช้โฮเวอร์เหนือรายการในแกลเลอรี

Visible – กําหนดว่าตัวควบคุมแสดงอยู่หรือถูกซ่อนอยู่

Width – ระยะห่างระหว่างขอบด้านซ้ายและด้านขวาของตัวควบคุม

WrapCount – จํานวนของรายการที่แสดงต่อแถวหรือคอลัมน์ที่ยึดตามเค้าโครงแนวนอนหรือแนวตั้ง

X – ระยะห่างระหว่างขอบด้านซ้ายของตัวควบคุมและขอบด้านซ้ายของคอนเทนเนอร์หลักหรือหน้าจอ

Y – ระยะห่างระหว่างขอบด้านบนของตัวควบคุมและขอบด้านบนของคอนเทนเนอร์หลักหรือหน้าจอ

Filter( DataSource, Formula )

Reset( Control ) - รีเซ็ตแกลเลอรีของคุณกลับไปยังสถานะเริ่มต้น สถานะเริ่มต้นรวมถึงการเลื่อนไปยังรายการแรกและเลือกรายการแรกหรือค่าเริ่มต้นถ้ามี

Note

ตัวควบคุมการรีเซ็ตจะไม่รีเซ็ตระดับลูกทั้งหมดของแกลเลอรีซ้ํา

ตัวอย่าง

แสดงและกรองข้อมูล

รับข้อมูลจากผู้ใช้

แนวทางการช่วยสําหรับการเข้าถึง

ความคมชัดของสี

ถ้าการคลิกที่ใดก็ได้ในรายการแกลเลอรีมีไว้เพื่อเลือก ต้องมีความคมชัดของสีที่เพียงพอระหว่าง:

  • BorderColor และสีภายนอกแกลเลอรี (ถ้ามีเส้นขอบ)
  • Fill และสีภายนอกแกลเลอรี (ถ้าไม่มีเส้นขอบ)

การสนับสนุนตัวอ่านหน้าจอ

  • จําเป็นต้องมี AccessibleLabel

    Note

    โปรแกรมอ่านหน้าจอจะประกาศเมื่อรายการในแกลเลอรีเปลี่ยน ยังมีการกล่าวถึง AccessibleLabel ซึ่งให้บริบทสําหรับประกาศและจะสําคัญมากยิ่งขึ้นเมื่อมีหลายแกลเลอรีบนหน้าจอเดียวกัน

  • เมื่อรายการแกลเลอรีมีตัวควบคุมหลายตัว ให้ใช้ ItemAccessibleLabel เพื่อแสดงเนื้อหาของรายการแกลเลอรี

  • ตั้งค่าของ สามารถเลือกได้ เป็น จริง ถ้าคุณต้องการให้ผู้ใช้เลือกรายการแกลเลอรี มิฉะนั้น ให้ตั้งค่านั้นเป็น เท็จ

  • เมื่อรายการแกลเลอรีมีตัวควบคุมหลายตัว ให้ใช้ ItemAccessibleLabel เพื่อให้ข้อมูลสรุปของเนื้อหาของรายการแกลเลอรี

  • สามารถเลือกได้ ควรตั้งค่าอย่างเหมาะสม โดยขึ้นอยู่กับว่าผู้ใช้มีไว้เพื่อเลือกรายการแกลเลอรีหรือไม่

การสนับสนุนแป้นพิมพ์

  • พิจารณาการตั้งค่า ShowScrollbar เป็น true บนอุปกรณ์แบบหน้าจอสัมผัสส่วนใหญ่ แถบเลื่อนจะไม่แสดงจนกว่าจะเริ่มการเลื่อน

  • ถ้าการคลิกที่ใดก็ได้ในรายการแกลเลอรีมีไว้เพื่อเลือก ต้องมีวิธีสําหรับผู้ใช้คีย์บอร์ดเพื่อเลือกรายการแกลเลอรีด้วย ตัวอย่างเช่น การเพิ่ม ปุ่ม ที่มีคุณสมบัติ OnSelect ที่ตั้งค่าเป็น Select(Parent)

    Note

    ไม่พิจารณาตัวควบคุมภายนอกแกลเลอรีตามลําดับการนําทางของแป้นพิมพ์ภายในแกลเลอรี ตัวควบคุม TabIndex ภายในแกลเลอรีจะถูกจํากัดขอบเขต ดู คุณสมบัติการช่วยสําหรับการเข้าถึง เพื่อเรียนรู้เพิ่มเติม

ดูเพิ่มเติม

ใช้ DelayItemLoading และ Loading spinner เพื่อปรับปรุงประสิทธิภาพการทํางานในแกลเลอรี