本文介紹特定命令的 Power Fx 部分。 目前在畫布應用程式中使用的許多其他功能也可以使用。 請記住,存在差異,因為命令適用於模型導向應用程式。
備註
發佈 Power Fx 命令可能需要幾分鐘的時間。 即使發佈作業似乎已完成,背景操作仍可能在執行,這並不容易察覺。 發布後您可能需要等待幾分鐘,然後重新整理應用程式以查看您的變更是否反映。 第一次針對應用程式發佈 Power Fx 型命令時,此作業通常需要較長的時間。
OnSelect
定義在應用程式內選取按鈕時執行的邏輯。
可見
定義執行應用程式時隱藏或顯示按鈕的邏輯。
若要定義可見性邏輯,請選取指令。 然後在右側命令屬性窗格中選取 可見性,並選擇 依公式的條件顯示。 您可以選取資料編輯列左側的 [ 可見] ,然後使用資料編輯列撰寫 Power Fx 運算式。
所選房產
| 領域 | 類型 | Description |
|---|---|---|
| Item | 資料來源記錄 | 從資料來源選取的其中一筆記錄。 |
| AllItems | 資料來源中的記錄表格 | 從資料來源選取的所有記錄。 |
| State | Enum | 所選控制項的狀態。 編輯 (=0)、新建 (=1)、檢視 (=2) |
| 未儲存 | 布林值 | 如果 Selected 或 SelectedItems 有未儲存的變更,則傳回 true。 否則會傳回 false。 如果在指令元件資源庫中將「自動儲存」設定為 true (預設選項),則一律傳回 false。 |
- Selected 屬性由命令的主機提供。
- Item 和 AllItems 名稱與 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
- 版面配置
- 地點
- 螢幕大小