ใช้ Power Fx ในหน้าที่กำหนดเองสำหรับแอปแบบจำลองของคุณ
บทความนี้สรุปวิธีการที่ฟังก์ชัน Microsoft Power Fx ทั่วไปทำงานโดยแตกต่างกันระหว่างแอปพื้นที่ทำงานแบบสแตนด์อโลนและหน้าที่กำหนดเอง เนื่องจากหน้าที่กำหนดเองเป็นส่วนประกอบภายในแอปแบบจำลอง สูตร Microsoft Power Fx อื่นๆ ยังคงทำงานในลักษณะเดียวกัน
ข้อสำคัญ
หน้าแบบกำหนดเองเป็นคุณลักษณะใหม่ที่มีการเปลี่ยนแปลงผลิตภัณฑ์ที่สำคัญ และขณะนี้มีข้อจำกัดที่ทราบจำนวนหนึ่งซึ่งระบุไว้ใน ปัญหาที่ทราบของหน้าที่กำหนดเอง
เพิ่มการแจ้งเตือนลงในหน้าแบบกำหนดเอง
การแจ้งเตือนสามารถแสดงให้ผู้ใช้ในหน้าแบบกำหนดเองเห็นได้โดยเรียกใช้ ฟังก์ชัน Notify เมื่อข้อความแจ้งเตือนปรากฏขึ้น จะถูกวางบนหน้าเริ่มต้นเพื่อให้มองเห็นได้จนกว่าจะปิดใช้งาน หากมีการระบุช่วงเวลาหมดเวลา ข้อความแจ้งเตือนจะหายไปหลังจากช่วงเวลาหมดเวลา ขอแนะนำว่าอย่าใช้ช่วงเวลาหมดเวลา 10 เนื่องจากไม่ถือว่าเป็นช่วงเวลาหมดเวลาอีกต่อไป ข้อมูลเพิ่มเติม: ฟังก์ชัน Notify
Notify( "Custom page notification message" )
Notify( "Custom page notify warning message", NotificationType.Warning )
การนำทางเข้าหน้าแบบกำหนดเอง
ส่วนนี้แสดงตัวอย่างการนำทางจากฟอร์มแอปแบบจำลองไปยังหน้าแบบกำหนดเอง การนำทางจากหน้าแบบกำหนดเองไปยังหน้าแบบกำหนดเองอื่น ๆ หรือฟอร์มของแอปแบบจำลองโดยใช้ Power Fx
การนำทางจากหน้าแบบกำหนดเอง
ฟังก์ชัน Navigate อนุญาตให้ผู้ใช้นำทางจากฟอร์มแอปแบบจำลองหรือหน้าแบบกำหนดเอง ฟังก์ชันนี้ใช้ได้เฉพาะเมื่อหน้าแบบกำหนดเองทำงานภายในแอปแบบจำลองเท่านั้น ระหว่างการสร้างหรือดูตัวอย่างหน้าแบบกำหนดเองในตัวออกแบบพื้นที่ทำงาน ฟังก์ชันนี้จะไม่มีผลใดๆ
นำทางไปยังหน้าแบบกำหนดเอง
หากต้องการนำทางจากหน้าแบบกำหนดเองหนึ่งไปยังอีกหน้าหนึ่ง ให้ส่งชื่อที่แสดงของหน้าแบบกำหนดเองเป็นพารามิเตอร์แรก
Navigate( CustomPage2 )
นำทางไปยังมุมมองเริ่มต้นของตาราง
ในการนำทางไปยังมุมมองเริ่มต้นของตาราง ให้ส่งชื่อตารางเป็นพารามิเตอร์แรก
Navigate( Accounts )
ข้อสำคัญ
ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มตาราง Microsoft Dataverse ของบัญชีไปยังเพจที่กำหนดเองก่อนที่จะเผยแพร่และทดสอบ
นำทางไปยังมุมมองของระบบเฉพาะของตาราง
หากต้องการนำทางไปยังมุมมองของระบบเฉพาะของตาราง ให้ส่ง GUID ของมุมมอง
Navigate( 'Accounts (Views)'.'My Active Accounts' )
นำทางไปยังฟอร์มเริ่มต้นของตาราง
เมื่อต้องการนำทางไปยังฟอร์มเริ่มต้นของตาราง ให้ส่งเรกคอร์ดเป็นพารามิเตอร์แรก
Navigate( Gallery1.Selected )
นำทางไปยังฟอร์มเฉพาะของตาราง
หากต้องการส่งผ่านเรกคอร์ด Dataverse ไปยังฟอร์มเฉพาะ ให้ส่งผ่านชื่อฟอร์มในแอตทริบิวต์หน้าของพารามิเตอร์ที่สอง
Navigate(
AccountGallery.Selected,
{ Page: 'Accounts (Forms)'.Account } )
ไปยังหน้าแบบกำหนดเองที่มีข้อมูลเรกคอร์ด
หากต้องการส่งผ่านเรกคอร์ด Dataverse ไปยังหน้าแบบกำหนดเอง ให้ส่งผ่านชื่อหน้าแบบกำหนดเองในแอตทริบิวต์หน้าของพารามิเตอร์ที่สอง
Navigate(
AccountGallery.Selected,
{ Page: 'Account Record Page' } )
ในหน้าแบบกำหนดเองเป้าหมาย เรกคอร์ดจะถูกเรียกโดยใช้ฟังก์ชัน Param เพื่อรับค่า etn และ id
ด้านล่างนี้เป็นตัวอย่างของการโหลดเรกคอร์ดลงในตัวควบคุม EditForm
AccountEditForm.DataSource = Accounts
AccountEditForm.Item =
LookUp( Accounts, accountid = GUID( Param("id") ) )
นำทางไปยังฟอร์มเริ่มต้นของตารางในโหมดการสร้าง
หากต้องการนำทางไปยังฟอร์มเริ่มต้นของตารางในโหมดการสร้าง ให้ส่งเรกคอร์ด Dataverse ที่สร้างขึ้นจากฟังก์ชัน Defaults ซึ่งจะเปิดฟอร์มเริ่มต้นที่มีเรกคอร์ดเป็นเรกคอร์ดใหม่ ฟังก์ชัน Defaults ใช้ชื่อตารางเพื่อสร้างเรกคอร์ด
Navigate( Defaults( Accounts ) )
นำทางไปยังฟอร์มเริ่มต้นของตารางในโหมดสร้างที่มีฟิลด์เป็นค่าเริ่มต้น
หากต้องการนำทางไปยังเรกคอร์ดใหม่ที่มีฟิลด์บางฟิลด์เป็นค่าเริ่มต้น ให้ใช้ฟังก์ชัน Patch เพื่อตั้งค่าฟิลด์บนเรกคอร์ดเริ่มต้นสำหรับตาราง
Navigate(
Patch(
Defaults(Accounts), { 'Account Name': "My company", Phone: "555-3423" } )
)
กลับไปที่หน้าก่อนหน้าหรือปิดกล่องโต้ตอบ
หากต้องการย้อนกลับไปยังหน้าสุดท้ายหรือเพื่อปิดกล่องโต้ตอบ ฟังก์ชัน ย้อนกลับ ถูกเรียกในหน้าแบบกำหนดเอง ฟังก์ชัน ย้อนกลับ ปิดหน้าปัจจุบันและกลับไปยังแอปแบบจำลองล่าสุดหรือหน้าแบบกำหนดเองในแอปแบบจำลอง หากหน้าแบบกำหนดเองมีหลายหน้าจอ ให้ดูบทความ ย้อนกลับเมื่อหน้าแบบกำหนดเองมีหลายหน้าจอ
Back()
ย้อนกลับเมื่อหน้าแบบกำหนดเองมีหลายหน้าจอ
การกำหนดค่าเริ่มต้นสำหรับหน้าแบบกำหนดเองคือการมีหน้าจอเดียว ในกรณีนี้ การเรียกใช้ฟังก์ชัน ย้อนกลับ จะปิดหน้าที่กำหนดเอง เว้นแต่หน้าที่กำหนดเองจะเป็นหน้าสุดท้ายในสแต็กหน้าในแอปแบบจำลอง หน้าสุดท้ายยังคงเปิดอยู่
ผู้สร้างแอปสามารถเปิดใช้งานหลายหน้าจอในหน้าแบบกำหนดเอง สิ่งเหล่านี้ควรได้รับการพิจารณาเหมือนกับการควบคุมหน้าแบบเต็มภายในหน้าแบบกำหนดเองที่สามารถซ้อนได้ การเปิดหน้าแบบกำหนดเองนั้นไม่ได้หมายถึงการระบุหน้าจอที่จะใช้ เมื่อหน้าแบบกำหนดเองมีหลายหน้าจอ ผู้สร้างมีหน้าที่จัดการการซ้อนหน้าจอ การเรียกใช้ฟังก์ชัน นำทาง ไปยังหน้าจอจะเพิ่มไปยังสแต็กหน้าจอด้วยหน้าแบบกำหนดเอง แต่ละการเรียกใช้ฟังก์ชัน ย้อนกลับ จะลบหน้าจอออกจากสแต็กหน้าจอ เมื่อมีหน้าจอเดียวบนสแต็กหน้าจอ หน้าแบบกำหนดเองจะถูกปิด
การเปิดใช้งานหลายหน้าจอ
ตามค่าเริ่มต้น หน้าที่กำหนดเองจะใช้หน้าจอเดียวเพื่อสนับสนุนการแยกแอปออกเป็นหนึ่งหน้าจอต่อหน้า สามารถสลับได้โดยการเปิดใช้งาน การตั้งค่า > แสดง > เปิดใช้งานหลายหน้าจอ
ปัญหาที่ทราบกันดี
- ฟังก์ชัน
Navigate
ไม่มีการรองรับการเปิดแบบจำลองหรือหน้าที่กำหนดเองไปยังกล่องโต้ตอบ การนำทางทั้งหมดจากหน้าที่กำหนดเองจะเปิดขึ้นแบบอินไลน์ - ฟังก์ชันการนำทางไม่รองรับการเปิด:
- คอลเลกชันแดชบอร์ดหรือแดชบอร์ดเฉพาะ
- ฟอร์มแอปแบบจำลองเฉพาะ
- หน้าที่กำหนดเองสามารถเปิดได้เฉพาะในแท็บแอปปัจจุบันของเซสชันปัจจุบันในแอปแบบจำลองแบบหลายเซสชัน