แชร์ผ่าน


ใช้ 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 ไม่มีการรองรับการเปิดแบบจำลองหรือหน้าที่กำหนดเองไปยังกล่องโต้ตอบ การนำทางทั้งหมดจากหน้าที่กำหนดเองจะเปิดขึ้นแบบอินไลน์
  • ฟังก์ชันการนำทางไม่รองรับการเปิด:
    • คอลเลกชันแดชบอร์ดหรือแดชบอร์ดเฉพาะ
    • ฟอร์มแอปแบบจำลองเฉพาะ
  • หน้าที่กำหนดเองสามารถเปิดได้เฉพาะในแท็บแอปปัจจุบันของเซสชันปัจจุบันในแอปแบบจำลองแบบหลายเซสชัน

ดูเพิ่มเติม

การนำทางเข้าหน้าแบบกำหนดเองโดยใช้ API ไคลเอ็นต์

ภาพรวมหน้าแบบกำหนดเองของแอปแบบจำลอง