หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
การ์ดข้อมูลเป็นองค์ประกอบพื้นฐานที่ทำให้ฟอร์มใช้งานได้ในแอปแคนวาสของคุณ บทความนี้แสดงวิธีการกําหนดการ์ดเพื่อแสดงและรวบรวมข้อมูลตามที่คุณต้องการ
ตัวควบคุมแสดงฟอร์มและแก้ไขฟอร์มในแอปพื้นที่ทํางานเป็นคอนเทนเนอร์สําหรับระเบียนทั้งหมด แต่ละฟอร์มมี ตัวควบคุม การ์ด หลายตัว ซึ่งเป็นบล็อกการสร้างของฟอร์ม การ์ดแต่ละใบแสดงหรือช่วยให้คุณแก้ไขเขตข้อมูลเดียวจากระเบียนและลิงก์ไปยังเขตข้อมูลนั้นผ่านคุณสมบัติ DataField ฟอร์มแสดงระเบียนที่สมบูรณ์ และการ์ดแต่ละใบมุ่งเน้นไปที่หนึ่งเขตข้อมูล ดังนั้นคุณจึงควบคุมวิธีแสดงหรืออัปเดตข้อมูล
สิ่งที่คุณจะได้เรียนรู้:
- วิธีการกําหนดค่าการ์ดข้อมูลที่มีอยู่
- วิธีการปลดล็อกการ์ดสําหรับการปรับเปลี่ยนขั้นสูง
- วิธีการสร้างการโต้ตอบการ์ดแบบกําหนดเอง
ข้อ กำหนด เบื้อง ต้น: ถ้าคุณไม่คุ้นเคยกับฟอร์ม เริ่มต้นโดยการอ่านเพิ่มฟอร์ม และทําความเข้าใจฟอร์มข้อมูล
ลองใช้: เปลี่ยนชนิดของการ์ด
คุณสามารถลองปรับแต่งการ์ดในแอปใดก็ได้ทันที Power Apps มีการ์ดที่กําหนดไว้ล่วงหน้าสําหรับสตริง ตัวเลข และชนิดข้อมูลอื่นๆ
วิธีการเปลี่ยนการ์ด:
- เปิดแอปของคุณสำหรับการแก้ไขใน Power Apps Studio
- เลือกตัวควบคุมฟอร์มในมุมมองแบบทรี
- ในบานหน้าต่าง คุณสมบัติ ให้ค้นหาเขตข้อมูลที่คุณต้องการปรับเปลี่ยน
- เลือกรายการดรอปดาวน์ชนิดการ์ดเพื่อดูตัวเลือกที่พร้อมใช้งาน
ในบานหน้าต่างด้านขวา คุณจะเห็นชนิดที่พร้อมใช้งาน และสามารถเปลี่ยนการ์ดสําหรับเขตข้อมูลได้
ในตัวอย่างนี้ จะมีการเลือกการ์ดข้อความบรรทัดเดียว แต่ข้อความ URL ยาวกว่าข้อความที่มีอยู่ในหนึ่งบรรทัด เปลี่ยนการ์ดนี้เป็นการ์ดข้อความหลายบรรทัดเพื่อให้ผู้ใช้มีพื้นที่มากขึ้นในการแก้ไข
หลายฟิลด์ในแหล่งข้อมูลนี้ไม่แสดง แต่คุณสามารถแสดงหรือซ่อนฟิลด์ได้โดยการเลือกกล่องกาเครื่องหมาย ตัวอย่างนี้แสดงวิธีการแสดงเขตข้อมูล SecurityCode
กำหนดการ์ดเอง
การ์ดประกอบด้วยตัวควบคุมต่าง ๆ ในตัวควบคุม แก้ไขฟอร์ม ผู้ใช้จะต้องป้อนข้อมูลลงในตัวควบคุม ป้อนข้อความ ที่คุณสามารถเพิ่มได้จากแท็บ แทรก
บทความนี้อธิบายวิธีการเปลี่ยนลักษณะที่ปรากฏของการ์ดโดยการเปลี่ยนตัวควบคุมที่อยู่ด้านใน
กลับไปยังการ์ดที่คุณแทรกล่าสุดสําหรับเขตข้อมูล SecurityCode เลือกการ์ดนี้โดยการเลือกหนึ่งครั้ง:
เลือกตัวควบคุม ป้อนข้อความ ภายในการ์ดโดยการเลือกตัวควบคุมการป้อนข้อมูลเอง
ย้ายตัวควบคุมภายในการ์ดโดยการลากกล่องส่วนที่เลือก และปรับขนาดโดยการลากจุดจับที่ขอบของกล่องส่วนที่เลือก
คุณสามารถปรับขนาด ย้าย และทําการปรับเปลี่ยนอื่นๆ ให้กับตัวควบคุมภายในการ์ดได้ แต่คุณไม่สามารถลบตัวควบคุมได้โดยไม่ต้องปลดล็อกก่อน
การปลดล็อกการ์ด
นอกจากมีตัวควบคุมแล้ว การ์ดคือตัวควบคุมที่มีคุณสมบัติและสูตร ซึ่งคุณสามารถใช้สําหรับการกําหนดค่าขั้นสูง เมื่อคุณเลือกที่จะแสดงเขตข้อมูลบนฟอร์ม บานหน้าต่างด้านขวาจะสร้างการ์ดโดยอัตโนมัติและสร้างสูตรที่จําเป็น ช่วยให้คุณประหยัดเวลาและความพยายาม คุณสามารถดูสูตรเหล่านี้ได้ในแท็บ ขั้นสูง ของบานหน้าต่างด้านขวา:
คุณจะเห็นหนึ่งในคุณสมบัติที่สำคัญที่สุดของการ์ดทันที ซึ่งก็คือคุณสมบัติ DataField คุณสมบัตินี้ระบุว่าฟิลด์ของแหล่งข้อมูลที่ผู้ใช้เห็นและสามารถแก้ไขได้ในการ์ดนี้
บนแท็บ ขั้นสูง แบนเนอร์ทางด้านบนจะระบุว่าคุณสมบัติของการ์ดนี้ถูกล็อกอยู่หรือไม่ ไอคอนล็อกจะปรากฏอยู่ถัดจากคุณสมบัติ DataFieldDisplayName และ Required บานหน้าต่างด้านขวาจะสร้างสูตรเหล่านี้ และล็อคจะป้องกันการเปลี่ยนแปลงคุณสมบัติเหล่านี้โดยไม่ได้ตั้งใจ
เลือกแบนเนอร์ทางด้านบนเพื่อปลดล็อกการ์ด เพื่อให้คุณสามารถปรับเปลี่ยนคุณสมบัติเหล่านี้:
ปรับเปลี่ยน DisplayName เพื่อใส่ช่องว่างระหว่าง แอสเซท และ รหัส จากการทําการเปลี่ยนแปลงนี้ คุณกําลังเปลี่ยนแปลงสิ่งที่ถูกสร้างให้คุณ ในบานหน้าต่างด้านขวา การ์ดนี้จะมีป้ายชื่อที่ต่างกัน:
ตอนนี้คุณสามารถควบคุมการ์ดนี้ และสามารถปรับเปลี่ยนเพิ่มเติมให้พอดีกับความต้องการของคุณได้ แต่คุณจะไม่สามารถเปลี่ยนการ์ดจากการแสดงข้อมูลแบบหนึ่งเป็นอีกแบบหนึ่งได้ (ตัวอย่างเช่น ข้อความหนึ่งบรรทัดเป็นข้อความหลายบรรทัด) เหมือนที่คุณทําก่อนหน้านี้ คุณได้แปลงการ์ดที่กําหนดไว้ล่วงหน้าเป็น "การ์ดแบบกําหนดเอง" ที่คุณควบคุมในขณะนี้
สำคัญ
คุณจะไม่สามารถล็อกการ์ดได้อีก ถ้าคุณปลดล็อกแล้ว เมื่อต้องการล็อกการ์ดอีกครั้ง ให้ลบ แล้วแทรกการ์ดในบานหน้าต่างด้านขวาอีกครั้ง
คุณสามารถเปลี่ยนแปลงลักษณะและการทำงานของการ์ดที่ปลดล็อกแล้วได้หลายวิธี เช่น การเพิ่มและการลบตัวควบคุมที่อยู่ด้านใน ตัวอย่างเช่น คุณสามารถเพิ่มรูปร่างดาวจากเมนู ไอคอน บนแท็บ แทรก
ตอนนี้ดาวเป็นส่วนหนึ่งของการ์ดและเดินทางไปพร้อมกับการ์ด ตัวอย่างเช่น ถ้าคุณจัดลําดับการ์ดภายในฟอร์มใหม่
อีกตัวอย่างหนึ่งคือ ปลดล็อกการ์ด ImageURL แล้วเพิ่มตัวควบคุม รูปภาพ จากแท็บ แทรก:
ในแถบสูตร ให้ตั้งค่าคุณสมบัติ รูปภาพ ของตัวควบคุมนี้เป็น TextBox.ข้อความ โดย TextBox เป็นชื่อของตัวควบคุม ป้อนข้อความ ที่มี URL:
ในตอนนี้ คุณสามารถมองเห็นรูปภาพและแก้ไข URL ได้ คุณสามารถใช้ Parent.Default เป็นคุณสมบัติ Image ได้ แต่จะไม่มีการอัปเดตถ้าผู้ใช้เปลี่ยน URL
คุณสามารถทําสิ่งเดียวกันนี้ได้บนหน้าจอที่สองของแอปนี้ ที่คุณใช้ตัวควบคุม แสดงฟอร์ม เพื่อแสดงรายละเอียดของระเบียน ในกรณีนี้ คุณอาจต้องการซ่อนป้ายชื่อ (ตั้งค่าคุณสมบัติ Visible ของป้ายชื่อ ไม่ใช่ของการ์ด เป็น false) เนื่องจากผู้ใช้ไม่แก้ไข URL บนหน้าจอนั้น:
โต้ตอบกับฟอร์ม
หลังจากที่คุณปลดล็อกการ์ด คุณจะสามารถเปลี่ยนวิธีการโต้ตอบกับฟอร์มที่มีการ์ดนั้น
ด้านล่างนี้คือแนวทางสำหรับวิธีการที่ตัวควบคุมทำงานกับการ์ดและวิธีการที่การ์ดทำงานกับฟอร์ม แนวทางเหล่านี้ช่วยให้คุณเข้าใจวิธีสร้างสูตรที่อ้างอิงตัวควบคุมอื่นๆ รวมถึงการ์ดและตัวควบคุมภายในการ์ด สร้างสรรค์ - คุณสามารถสร้างแอปได้หลายวิธีเพื่อตอบสนองความต้องการเฉพาะของคุณ
คุณสมบัติ DataField
คุณสมบัติที่สำคัญที่สุดบนการ์ดคือคุณสมบัติ DataField คุณสมบัตินี้ควบคุมการตรวจสอบที่ระบุว่าฟิลด์ใดบ้างที่ได้รับการอัปเดต และจัดการปัจจัยอื่นๆ ของการ์ด
ข้อมูลที่เพิ่มเข้ามา
ในฐานะคอนเทนเนอร์ ฟอร์มจะทำให้ ThisItem พร้อมใช้งานกับการ์ดทั้งหมดที่อยู่ด้านใน เรกคอร์ดนี้มีฟิลด์ทั้งหมดสำหรับเรกคอร์ดที่สนใจในปัจจุบัน
ตั้งค่าคุณสมบัติ Default ของทุกการ์ดเป็น ThisItemFieldName ในบางกรณี คุณอาจแปลงค่านี้เมื่อเข้ามา ตัวอย่างเช่น คุณอาจต้องการจัดรูปแบบสตริงหรือแปลค่าจากภาษาหนึ่งเป็นอีกภาษาหนึ่ง
ตัวควบคุมแต่ละตัวภายในการ์ดควรอ้างอิง Parent.Default เพื่อรับค่าของเขตข้อมูล กลยุทธ์นี้ห่อหุ้มการ์ด ทำให้คุณสมบัติ Default ของการ์ดสามารถเปลี่ยนแปลงได้โดยไม่กระทบต่อสูตรภายใน
ตามค่าเริ่มต้น เมตาดาต้าของแหล่งข้อมูลจะตั้งค่าคุณสมบัติ DefaultValue และ Required ตามคุณสมบัติ DataField คุณสามารถเขียนทับสูตรเหล่านี้ด้วยตรรกะของคุณเอง โดยรวมข้อมูลเมตาของแหล่งข้อมูลโดยใช้ฟังก์ชัน DataSourceInfo
ข้อมูลที่ส่งออกไป
หลังจากที่ผู้ใช้ปรับเปลี่ยนเรกคอร์ดโดยใช้ตัวควบคุมในการ์ด ฟังก์ชัน SubmitForm จะบันทึกการเปลี่ยนแปลงเหล่านั้นไปยังแหล่งข้อมูล เมื่อฟังก์ชันทำงาน ตัวควบคุมฟอร์มจะอ่านค่าคุณสมบัติ DataField ของการ์ดแต่ละใบเพื่อทราบฟิลด์ที่จะเปลี่ยนแปลง
ตัวควบคุมฟอร์มยังอ่านค่าคุณสมบัติ Update ของการ์ดแต่ละใบอีกด้วย ค่านี้จะถูกจัดเก็บไว้ในแหล่งข้อมูลสำหรับฟิลด์นี้ นี่คือตําแหน่งที่จะนําการแปลงอื่นๆ ไปใช้ ซึ่งอาจยกเลิกการแปลงที่คุณใช้ในสูตร Default ของการ์ด
คุณสมบัติ มีผลใช้ จะถูกควบคุมจากข้อมูลเมตาของแหล่งข้อมูล โดยยึดตามคุณสมบัติ DataField และยังยึดตามคุณสมบัติ Required และกำหนดว่าคุณสมบัติ Update จะมีค่าหรือไม่ ถ้าค่าบนคุณสมบัติ Update ไม่ถูกต้อง คุณสมบัติ ผิดพลาด จะแสดงข้อความแสดงข้อผิดพลาดที่ผู้ใช้เข้าใจได้
ถ้าคุณสมบัติ DataField ของการ์ดเป็นค่า ว่างเปล่า การ์ดจะทำหน้าที่เป็นคอนเทนเนอร์สำหรับตัวควบคุม คุณสมบัติ มีผลใช้ และ Update จะไม่ถูกรวมเมื่อส่งฟอร์ม
การวิเคราะห์ตัวอย่าง
ลองสำรวจส่วนควบคุมที่ประกอบเป็นแบบฟอร์มป้อนข้อมูลพื้นฐาน ช่องว่างระหว่างตัวควบคุมจะเพิ่มขึ้นเพื่อแสดงให้ชัดเจนยิ่งขึ้น ช่วยให้คุณเข้าใจว่าแต่ละคอมโพเนนต์มีส่วนในฟังก์ชันการทํางานของการ์ดอย่างไร:
ในกราฟิกนี้ ตัวควบคุมภายในการ์ดข้อมูลจะมีป้ายชื่อ:
ตัวควบคุมสี่ตัวทำให้การ์ดนี้ใช้งานได้:
| Name | ขนิด | Description |
|---|---|---|
| TextRequiredStar | ตัวควบคุม Label | แสดงดาวที่มักจะใช้บนฟอร์มรายการข้อมูลเพื่อระบุว่าฟิลด์จำเป็น |
| TextFieldDisplayName | ตัวควบคุม Label | แสดงชื่อของฟิลด์นี้ที่ผู้ใช้เข้าใจได้ ชื่อนี้อาจแตกต่างจากชื่อที่อยู่ใน Schema ของแหล่งข้อมูล |
| InputText | ตัวควบคุม ป้อนข้อความ | แสดงค่าเริ่มต้นของฟิลด์และอนุญาตให้ผู้ใช้สามารถเปลี่ยนแปลงค่านั้นได้ |
| TextErrorMessage | ตัวควบคุม Label | แสดงข้อความแสดงข้อผิดพลาดที่ผู้ใช้เข้าใจได้ ถ้าเกิดปัญหาขึ้นกับการตรวจสอบ นอกจากนี้ ยังรับรองว่าฟิลด์มีค่า ถ้าจำเป็นต้องมี |
เมื่อต้องการกรอกข้อมูลลงในตัวควบคุมเหล่านี้ คุณสมบัติสามารถควบคุมจากคุณสมบัติของการ์ด ผ่านสูตรสำคัญเหล่านี้ สูตรอ้างถึงฟิลด์เฉพาะ ข้อมูลทั้งหมดจะมาจากการ์ดแทน
| คุณสมบัติของตัวควบคุม | สูตร | Description |
|---|---|---|
| TextRequiredStar.Visible | Parent.Required | ดาวจะประกฏขึ้น ถ้าฟิลด์จำเป็น Required คือสูตรที่คุณตั้งค่าหรือเมตาดาต้าของแหล่งข้อมูล |
| TextFieldDisplayName.Text | Parent.DisplayName | ตัวควบคุมกล่องข้อความจะแสดงชื่อที่ผู้ใช้เข้าใจได้ ซึ่งคุณหรือข้อมูลเมตาของแหล่งข้อมูลกรอกไว้ และชื่อที่ตั้งไว้บนคุณสมบัติ DisplayName ของการ์ด |
| InputText.Default | Parent.Default | ตัวควบคุมป้อนข้อความเริ่มแสดงค่าของฟิลด์จากแหล่งข้อมูล ตามที่ค่าเริ่มต้นของการ์ดระบุไว้ |
| TextErrorMessage.Text | Parent.Error | ถ้าเกิดปัญหาขึ้นกับการตรวจสอบ คุณสมบัติ Error ของการ์ดจะมีข้อความแสดงข้อผิดพลาดที่สอดคล้องกัน |
หมายเหตุ
คุณสมบัติ Parent.Error เป็นคุณสมบัติที่มีแค่เอาท์พุทเท่านั้น และคุณไม่สามารถตั้งค่าได้โดยใช้สูตร คุณสมบัตินี้ไม่ปรากฏในรายการคุณสมบัติ ใกล้กับมุมบนซ้ายหรือในแท็บ คุณสมบัติ หรือ ขั้นสูง ใกล้ขอบด้านขวา แถบสูตรจะแสดงคุณสมบัตินี้ หากคุณกำลังเขียนสูตรที่อ้างอิงคุณสมบัติได้
เมื่อต้องการดึงข้อมูลออกจากตัวควบคุมเหล่านี้และป้อนกลับลงในแหล่งข้อมูล ให้ใช้สูตรที่สำคัญต่อไปนี้:
| ชื่อการควบคุม | สูตร | Description |
|---|---|---|
| DataCard.DataField | "ApproverEmail" | ชื่อของฟิลด์ที่ผู้ใช้สามารถแสดงและแก้ไขในการ์ดนี้ |
| DataCard.Update | InputText.Text | ค่าที่จะตรวจสอบและป้อนกลับลงในแหล่งข้อมูลเมื่อ SubmitForm ทำงาน |