共用方式為


使用具有命令的 Power Fx

本文介紹特定命令的 Power Fx 部分。 目前在畫布應用程式中使用的許多其他功能也可以使用。 請記住,存在差異,因為命令適用於模型導向應用程式。

  • 支援所有現有的資料流程函式。 什麼是資料流程?
  • 支援使用資料的命令式函數。
  • 支援簡單的ConfirmNotify的命令式函數。
  • 如需不支援的功能清單,請移至 不支援的功能

備註

發佈 Power Fx 命令可能需要幾分鐘的時間。 即使發佈作業似乎已完成,背景操作仍可能在執行,這並不容易察覺。 發布後您可能需要等待幾分鐘,然後重新整理應用程式以查看您的變更是否反映。 第一次針對應用程式發佈 Power Fx 型命令時,此作業通常需要較長的時間。

OnSelect

定義在應用程式內選取按鈕時執行的邏輯。

可見

定義執行應用程式時隱藏或顯示按鈕的邏輯。

若要定義可見性邏輯,請選取指令。 然後在右側命令屬性窗格中選取 可見性,並選擇 依公式的條件顯示。 您可以選取資料編輯列左側的 [ 可見] ,然後使用資料編輯列撰寫 Power Fx 運算式。

所選房產

領域 類型 Description
Item 資料來源記錄 從資料來源選取的其中一筆記錄。
AllItems 資料來源中的記錄表格 從資料來源選取的所有記錄。
State Enum 所選控制項的狀態。 編輯 (=0)、新建 (=1)、檢視 (=2)
未儲存 布林值 如果 Selected 或 SelectedItems 有未儲存的變更,則傳回 true。 否則會傳回 false。 如果在指令元件資源庫中將「自動儲存」設定為 true (預設選項),則一律傳回 false。
  • Selected 屬性由命令的主機提供。
  • ItemAllItems 名稱與 ComboBox 控制項和 Gallery 控制項有些一致,但這是新的模式。
  • 如果未選取任何記錄, Item 會傳回 Blank (IsBlank 傳回 true) ,而 AllItems 會傳回空資料表 (IsEmpty 傳回 true)。
  • 記錄參考資料的 Null DataSource (多態記錄類型)。 可以呼叫泛型函數,例如 Save 或 IsType/AsType 可以使用。
  • 如果 SelectionMax 為 1,則<>一律為空白。 這可以防止將公式寫入一個項目,並且無法擴展到多個項目。

自動保存

  • 許多 JavaScript 命令都是從儲存表單緩衝區開始的。 這是因為它使其餘程式碼更易於使用。
  • 根據預設,表單緩衝區會代表應用程式製作者儲存。
    • 表單會在啟動命令之前儲存。
    • 儲存作業期間發生的任何問題都會在表單的UI中處理。

Patch 函式

修補 (更新) 目前選取的記錄

Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})

備註

如果相關表格尚未在指令元件庫中,則需要在canvas studio中開啟它,並在該處新增資料來源。

Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})

檢查和編輯日期屬性

If(Self.Selected.Item.'Last Date Included in Campaign'>DateAdd(Now(),-3), Patch(Accounts,Self.Selected.Item,{'Last Date Included in Campaign':Date(2021,10,19)}))

可見屬性:如果在格線檢視中選取一或多個記錄,則只顯示命令

CountRows(Self.Selected.AllItems) > 0

根據記錄資料控制可見性

//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20

備註

如需其他選項,請參閱用戶端 API 參考以使用 JavaScript。 其他資訊: navigateTo (用戶端 API 參考)

若要導覽至模型導向應用程式內的自訂畫布頁面,請將頁面名稱作為第一個引數傳遞。

Navigate( myCustomPage )

若要導覽至表格的預設檢視,請將表格名稱作為第一個引數傳遞。

Navigate( Accounts )

若要瀏覽至表格的特定系統檢視,請傳遞表格的 Views 列舉。

Navigate( 'Accounts (Views)'.'My Active Accounts' )

若要導覽至資料表的預設形式,請將記錄作為第一個引數傳遞。

Navigate( Gallery1.Selected )

若要導覽至資料表的預設表單,請傳遞從 預設值 函數建立的 Dataverse 記錄。 這會以新的記錄的方式開啟預設表單。 Defaults 函數採用表格名稱來建立記錄。

Navigate( Defaults( Accounts ) )

使用資料來源和記錄資訊優化使用者體驗

使用 DataSourceInfo 函式RecordInfo 函式 ,透過顯示和操作之資料的相關資訊來最佳化使用者體驗。

例如,使用 RecordInfo 來判斷目前使用者是否有權修改記錄,並使用其 Visible 屬性適當地顯示或隱藏「編輯」按鈕:

EditButton.Visible = 
   RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )

例如,使用 DataSourceInfo 來判斷目前使用者是否有權建立記錄,並使用其 Visible 屬性適當地顯示或隱藏 [建立] 按鈕:

CreateButton.Visible = 
   DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )

採取行動前請先確認

使用 確認 功能 在目前畫面頂部顯示對話方塊。

Notify( Confirm( "Are you sure?", 
                 { ConfirmButton: "Yes", CancelButton: "No" } 
        ) 
)

如果按下 [] 按鈕,則顯示通知 true,如果按下 [] 按鈕,則顯示通知 false

通知使用者

您可以呼叫 Notify 函式,向應用程式使用者顯示通知。

備註

NotificationType.Success 目前不支援,將導致資訊型通知。

Notify( "Model-driven app notification message" )

其他範例

啟動網址

Launch("https://www.bing.com");

存取 1:N 屬性

Self.Selected.Item.'Recurring Appointments'
Self.Selected.Item.'Parent Account'.'Account Name'="parent"

透過命令可用的功能

如需模型導向應用程式中命令支援的公式相關資訊,請移至 公式參考 - 模型導向應用程式

不支援的功能

以下 Power Fx 函數目前不支援用於模型驅動應用程式的命令操作。

  • Back()
  • Clear()
  • Collect()
  • 複製()
  • 禁用()
  • 啟用 ()
  • 退出()
  • InvokeControl()
  • 語言()
  • 載入資料()
  • 參數()
  • 列印()
  • 讀取NFC()
  • RequestHide()
  • 重設表格()
  • Revert()
  • 儲存資料 ()
  • ScanBarcode()
  • 集合()
  • 提交表單()
  • UpdateContext()
  • 使用者()
  • 檢視表單 ()

不支援列舉

  • Align
  • AlignInContainer
  • BarcodeType
  • 邊框樣式
  • 顏色
  • Direction
  • 顯示模式
  • Font
  • 字體粗細
  • 表單模式
  • 網格樣式
  • 影像位置
  • 影像旋轉
  • 標籤位置
  • 版面配置
  • LayoutAlignItems
  • 佈局方向
  • LayoutJustifyContent
  • 佈局模式
  • LayoutOverflow
  • 清單項目範本
  • 地圖樣式
  • Overflow
  • PDF密碼狀態
  • PenMode
  • 移除旗標
  • 螢幕轉換
  • 團隊主題
  • TextFormat
  • 文字模式
  • 文字位置
  • Themes
  • Transition
  • 垂直對齊
  • 虛擬鍵盤模式
  • Zoom

其他不受支援的區域

  • Acceleration
  • 應用程式
  • 指南針
  • Connection
  • Dataverse 檔案格式類型列
  • 環境
  • Host
  • 版面配置
  • 地點
  • 螢幕大小

另請參閱

了解行為公式

公式參考

Power Fx 概述