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 var firstName = formContext.getAttribute("firstname").getValue();
var lastName = formContext.getAttribute("lastname").getValue();
console.log(firstName + " " + lastName);
}
(译注:省略了原文中有关过时的Xrm.Page对象的部分)
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集合 - formContext.data.attributes: 用于访问非entity绑定属性。 - formContext.data.entity.attributescollection: 用于访问在form中可用的entity。只对与添加到form上的字段对应的属性可用。 |
| controls |
有3个对象包含controls集合 - formContext.ui.controls: 用于访问form中出现的控件。 - formContext.data.entity.attribute.controls: 因为一个属性也许会在表单上面有多个控件,该集合用于访问它们。如果没有为属性添加多个控件,那么这个集合只会包含1个item. - formContext.ui.tabs.sections.controls: 这个集合只包含在section中的控件。 |
|
formContext.data.process.stages 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。 |
相关主题
Dynamics 365中的Client API form context (formContext)的更多相关文章
- Dynamics 365中使用Web API将查找字段的值设置为空值的方法。
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复270或者20180424可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...
- 自定义工作流活动报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- 将Dynamics 365中的用户及其角色、角色导出到Excel中
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Dynamics 365工作流报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Dynamics 365中开发和注册插件介绍
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- Dynamics 365中的应用程序介绍
本人微信和易信公众号:微软动态CRM专家罗勇 ,回复275或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)
本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- 在Dynamics 365中使用SURVEYJS代替对话(Dialog)制作话术
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复269或者20180318可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Dynamics 365中的事件框架与事件执行管道(Event execution pipeline)
本文介绍了Microsoft Dynamics 365(以下简称D365)中的两个概念,事件框架(Event Framework)与事件执行管道(Event execution pipeline). ...
随机推荐
- django-migrate一败再败
python3 manage.py makemigrations # 生成数据库迁移文件 python3 manage.py migrate # 迁移数据库 简简单单两条命令就完成了django的数据 ...
- npm切换成淘宝镜像源
0-前言 我们都知道node下载第三方依赖包是从国外服务器下载,不是速度奇慢就是下载异常,切换成国内的淘宝镜像源很有必要: 1-切换方法 $ npm config set registry https ...
- 转:logback的使用和logback.xml详解
一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两 ...
- JVM前奏篇(大局观)
话不多说直接上干货,先来看oracle官网中是怎么描述JDK的:https://docs.oracle.com/javase/8/docs/index.html 这是官网中JDK.JRE.JVM的一个 ...
- 详细nginx配置SSL
1.nginx的ssl 让nginx实现用https来访问网站,http是80端口,https是443端口. https其实就是一种加密的http 2.为什么要加密 例子:在网上银行汇款,在你汇款的过 ...
- C#语言和SQL Server数据库技术_前四章错题
1.在C#中,如果让某个方法只能被它所在的程序集内的其他方法访问,可使用(C)修饰这个方法. (选择一项) A:private B:protected C:internal D:以上都不对 2.下 ...
- C和C++从零开始系列(二)
今天说一下 C和C++ 的if 条件语句. 在实际编程中,会经常有逻辑判断,比如,输入的数值参数中,如果是奇数,输出This is uneven. 如果是偶数,输出 This is even. 我们在 ...
- 【Python3网络爬虫开发实战】 分析Ajax爬取今日头条街拍美图
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:haoxuan10 本节中,我们以今日头条为例来尝试通过分析Ajax请求 ...
- ARTS-S EN0001-In tech race with China, US universities may lose a vital edge
原文 The U.S. is still out in front of global rivals when it comes to innovation, but American univers ...
- swagger的配置
// This method gets called by the runtime. Use this method to add services to the container. public ...