共用方式為


使用具有命令的 Power Fx

本文介紹特定命令的 Power Fx 部分。 目前在畫布應用程式中所使用的許多其他函數也可以使用。 請記住,因為命令是針對模型導向應用程式,所以有不同的區別。

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

注意

發佈 Power Fx 命令可能需要幾分鐘的時間。 即使發佈作業看起來已完成,但背景作業仍在執行,這可能並不明顯。 發佈後可能需要等待幾分鐘,然後重新整理應用程式才能看到您所做的變更。 第一次為應用程式發佈 Power Fx 命令時通常會花費較長的時間。

OnSelect

定義當您在應用程式中選取按鈕時,會執行的邏輯。

可見

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

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

已選取的屬性

欄位 類型 描述
項目 DataSource 的記錄 從 DataSource 選取的其中一個記錄。
AllItems DataSource 中的記錄表格 從 DataSource 選取的所有記錄。
狀態 列舉 所選控制項的狀態。 Edit (=0)、New (=1)、View (=2)
未儲存 布林值 如果 Selected 或 SelectedItems 有未儲存的變更,則傳回 True。 否則傳回 False。 如果命令元件庫中的自動儲存設為 True (預設選項),則一律傳回 False。
  • 選取屬性是由命令的主機所提供。
  • 項目AllItems 名稱與組合方塊控制項和資源庫控制項有一致性,但這是一種新的模式。
  • 如果未選取任何記錄,則 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"})

注意

如果相關表格尚未存在於命令元件庫中,則需要在畫布工作室中將其打開,並在該處新增資料來源。

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 記錄。 這會以新的記錄的方式開啟預設表單。 預設函數會採用表格名稱以建立記錄。

Navigate( Defaults( Accounts ) )

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

使用 DataSourceInfo 函數RecordInfo 函數提供關於顯示和操作中資料的資訊,以最佳化使用者體驗。

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

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

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

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

在執行動作之前要求確認

使用 Confirm 函數在目前畫面上方顯示對話方塊。

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

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

通知使用者

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

注意

目前不支援 NotificationType.Success,並將產生資訊通知類型。

Notify( "Model-driven app notification message" )

其他範例

啟動 URL

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()
  • Copy()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • 列印()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

不支援列舉

  • Align
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Color
  • Direction
  • DisplayMode
  • Font
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Layout
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Overflow
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Themes
  • Transition
  • VerticalAlign
  • VirtualKeyboardMode
  • Zoom

其他不支援的區域

  • 加速
  • 應用程式
  • 指南針
  • 連線
  • Dataverse檔案類型欄
  • 環境
  • 主機
  • 配置
  • 位置
  • ScreenSize

另請參閱

了解行為公式

公式參考

Power Fx 概觀