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). ...
随机推荐
- [题解]洛谷P1094——纪念品分组
原题链接: https://www.luogu.org/problem/P1094 题目简述: 有NNN件纪念品,每个纪念品都有特定的价格,要求将他们分组,每组纪念品之和不得超过MMM,并且每组最多只 ...
- 什么鬼,面试官竟然让我用Redis实现一个消息队列!!?
GitHub 9.4k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 9.4k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 9.4k Star 的 ...
- Tensorflow多层LSTM代码分析
1.tf.Graph() 你一旦开始你的任务,就已经有一个默认的图已经创建好了.而且可以通过调用tf.get_default_graph()来访问到. 添加一个操作到默认的图里面,只要简单的调用一个定 ...
- 【Android - 进阶】之PopupWindow的使用
创建一个类继承自PopupWindow,编写自定义的PopupWindow类.示例代码如下: import android.app.Activity; import android.graphics. ...
- 复习sed实例操作
第6周复习课(5月2日) 课程内容: 复习 扩展1.打印某行到某行之间的内容http://ask.apelearn.com/question/5592.sed转换大小写 http://ask.apel ...
- linux虚拟机中各服务端口及配置文件路径
查询端口状况命令: netstat -an| grep 端口号 查询服务状态(服务是否开启)命令:systemctl status 服务名 开启服务命令:systemctl start 服务名 ...
- 学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(下)
[摘要] 除了范围索引之外,点查找的Hash Map在DBMS中起着类似或更重要的作用. 从概念上讲,Hash Map使用Hash函数来确定性地将键映射到数组内的随机位置(参见图[9 ],只有4位开销 ...
- luogu P5414 [YNOI2019]排序 |动态规划
题目描述 对于一个数列{7, 1, 2, 3}进行排序,我们可以把7 从头移动到尾.但是这个操作的成本是7,并不是最佳的.最佳的排序方式是将连续的1.2.3 移动到7 的前面.这样的话,总的操作成本就 ...
- 《手把手教你》系列进阶篇之3-python+ selenium自动化测试 - python几种骚操作你都知道吗?(详细教程)
1. 简介 这篇文章主要是给小伙伴或者童鞋们介绍和分享 python几种骚操:读取配置文件.获取根目录的相对路径.获取系统时间和格式化时间显示.字符串切割等等操作.为后边的自动化框架打下一个结实的基础 ...
- Xcode11 踩坑记录
1.UITextView控件莫名导致崩溃 如上图所示,点击Step over 前进进入编译器内部 在lldb控制台输入指令 po $arg1 看到编译器给的提示是由于UITextView的问题. 解决 ...