Dynamics 365中的Client API form context (formContext)
適用於Dynamics 365 for Customer Engagement apps 9.x版本。
本文是一篇翻譯,原文來源是微軟官方文件。
本文連結:https://www.cnblogs.com/hhelibeb/p/11042391.html
概述
Client API form context (formContext)提供了對當前程式碼執行的上下文中的form或對form上的item的引用,比如,一個quick view控制元件或者一個可編輯grid中的行。
在早期版本,全域性的Xrm.Page物件用於代表form或form中的item。在9.0版本中,Xrm.Page物件過時了,你應該使用被傳入的上下文物件的getFormContext方法獲取相應的from的引用。
注意:formContext物件允許你建立通用的事件處理器,根據呼叫位置來對form或可編輯grid進行操作。詳見getFormContext (Client API reference)。從ribbon action的Javascript函式中獲取formContext和從scripting中獲取它的方式是不同的。更多資訊:Form and grid context in ribbon actions.
使用formContext物件
以下是一段使用formContext物件的JS程式碼,通過傳入的執行上下文(executionContext)獲取formContext物件,
function displayName(executionContext) { var formContext = executionContext.getFormContext(); // get formContext // use formContext instead of Xrm.Page var firstName = formContext.getAttribute("firstname").getValue(); var lastName = formContext.getAttribute("lastname").getValue(); console.log(firstName + " " + lastName); }
formContext 物件模型
使用formContext物件下的data和ui物件,它們允許你通過程式設計方式操作資料和使用者介面元素。
data物件
data物件用於訪問entity資料,提供了管理form、business process flow控制元件中資料的方法。包含以下物件:
Object | Description |
---|---|
entity | 提供方法來根據頁面的顯示的記錄檢索資訊,也提供了save方法,以及包含form中全部屬性的集合。 |
process | 提供方法檢索business process flow的屬性。 |
它也提供了一個用於訪問未繫結entity的控制元件的屬性集。詳見文章的稍後部分的 formContext物件模型中的集合。
更多資訊:formContext.data
UI物件
提供在UI中檢索資訊的方法,除了from或grid的某些子元件外,它還包含以下物件:
Object | Description |
---|---|
formSelector | 提供item集合,該集合可以用於查詢對當前使用者有效的form。可以使用navigate方法關閉當前form,並開啟一個新的form。 |
navigation | 不包含任何方法,提供通過item集合訪問item的能力。參考下一節。 |
process | 提供在form上與business process flow控制元件互動的方法。 |
更多資訊:formContext.ui
formContext物件模型中的集合
下面的表格描述了Xrm物件模型中的集合。關於通常的集合的可用方法的資訊,參看Collections (Client API reference).。
Collection | Description |
---|---|
attributes |
有2個物件包含attributes集合
|
controls |
有3個物件包含控制元件集合
|
formContext.data.process.stagesand formContext.data.process.steps | 用於訪問business process flow中的stage和step集合。可以從集合中新增和刪除item。 |
formContext.ui.formselector.items | 當一個entity有多個form的時候,可以通過安全形色關聯這些form。當用戶的安全形色允許他訪問不止一個form時,該集合可以用於訪問對於當前使用者可用的各個form。 |
formContext.ui.navigation.items | The formContext.ui.navigation.itemscollection 用於訪問通過form編輯器定義的導航項。使用者通過command bar來訪問那些導航項。 |
formContext.ui.quickForms |
用於訪問所有quick view控制元件和它在Customer Enagagement forms中的上級控制元件。 |
formContext.ui.tabs | 可以通過一或多個tab來組織form。這個集合用於訪問tab. |
formContext.ui.tabs.sections | tab中可以包含一或多個section。該集合用於訪問section。 |
相關主題
getFormContext method
getGlobalContext method
Execution context methods
&n