适用于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对象下包含dataui对象,它们允许你通过编程方式操作数据和用户界面元素。

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。

相关主题

getFormContext method

getGlobalContext method

Execution context methods

Dynamics 365中的Client API form context (formContext)的更多相关文章

  1. Dynamics 365中使用Web API将查找字段的值设置为空值的方法。

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复270或者20180424可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  2. 自定义工作流活动报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  3. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  4. Dynamics 365工作流报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  5. Dynamics 365中开发和注册插件介绍

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. Dynamics 365中的应用程序介绍

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复275或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  7. Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  8. 在Dynamics 365中使用SURVEYJS代替对话(Dialog)制作话术

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复269或者20180318可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  9. Dynamics 365中的事件框架与事件执行管道(Event execution pipeline)

    本文介绍了Microsoft Dynamics 365(以下简称D365)中的两个概念,事件框架(Event Framework)与事件执行管道(Event execution pipeline). ...

随机推荐

  1. 02-tornado学习笔记-环境配置

    Ubuntu16.04开发环境 1.ubuntu默认root用户没有激活,激活root用户,就要为root用户创建密码   $sudo passwd root   2.修改主机名   $vi /etc ...

  2. python 2.x 中print >> sys.out ,print 与sys.out.write()的关系

    print 会调用 sys.stdout 的 write 方法 以下两行在事实上等价: sys.stdout.write('hello,python'+'\n') print 'hello,pytho ...

  3. go变量

    go基础 go变量(静态) package main import "fmt" func main() { //申明变量 var zx int //变量赋值 zx=10 //输出变 ...

  4. Netty学习——Netty和Protobuf的整合(二)

    Netty学习——Netty和Protobuf的整合(二) 这程序是有瑕疵的,解码器那里不通用,耦合性太强,有两个很明显的问题,但是要怎么解决呢?如:再加一个内部类型 Person2,之前的代码就不能 ...

  5. v-bind和v-model的本质区别和作用域

    每篇一句 一场寂寞凭谁诉.算前言,总轻负. Vue视图数据展示方式和彼此的区别: {{插值表达式}} {{}}插值表达式里面 只能写表达式,不能写语句 文本输出,不会解析标签 不能作用在标签的属性上, ...

  6. oracle逻辑存储结构

    oracle数据库管理系统有三个重要的概念:实例.数据库.数据库服务器.oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构.逻辑存储结构用于描绘Oracle内部组织和管理数据的方式,而物理 ...

  7. go实践之apiserver搭建

    文章目录 go实践之apiserver搭建 1.配置文件读取 2.数据连接 3.日志初始化 4.server初始化 5.接口编写 go实践之apiserver搭建 本文主要记录下博主用gin搭建app ...

  8. CodeForces-617E XOR And Favorite Numbers(莫队)

    Bob has a favorite number k and ai of length n. Now he asks you to answer m queries. Each query is g ...

  9. 洛谷 题解 P2645 【斯诺克】

    吐槽一下这道题: 数据太水了!!! 请注意,这题如果你考虑了犯规的情况,那么你的分数...可能会和我一样,只有40分. 也就是说,这是一篇AC不了这道题的题解!!! 现在,我来讲一下这道题的正解: 两 ...

  10. Python之Flask项目开发【入门必学】

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:藤藤菜丶 Flask 安装Flask模块 创建一个Flask项目 运行 ...