MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)

    除了在上一篇文章中介绍的Xrm.Page.data.entity对象本身包含的方法之外,Xrm.Page.data.entity对象还包含一个当前实体记录所有属性的集合,名为Xrm.Page.data.entity.attributes,其中包含了表单中所有字段的信息。同时,对每个字段,根据其数据类型的不同,Microsoft Dynamics CRM也提供了相应的一组方法进行操纵、管理与控制。

方法

描述

适用的字段类型

addOnChange输入参数为方法指针,添加字段OnChange事件的处理函数所有
fireOnChange触发相应字段的OnChange事件,以执行该字段的OnChange事件的处理函数所有
getAttributeType获取字段的数据类型,返回值为字符串,根据字段的数据类型不同,返回值可以是:"boolean"、"datetime"、"decimal"、"double"、"integer"、"lookup"、"memo"、"money"、
"optionset"、"string"
所有
getFormat获取字段的格式化选项,返回值为字符串所有
getInitialValue获取在表单打开时,bool类型或者OptionSet类型字段的初始值,返回值是数字bool、OptionSet
getIsDirty获取一个bool值,以标明特定的字段在本次表单打开后,该字段值是否曾经被更改过所有
getMax获取特定类型字段(money、decimal、integer、double)的最大值,返回值为数字money, decimal, integer, double
getMaxLength获取string或者memo字段的最大长度,返回值为数字string、memo
getMin获取特定类型字段(money、decimal、integer、double)的最小值,返回值为数字money, decimal, integer, double
getName获取字段的逻辑名称,返回值为字符串所有
getOption输入参数为数字或者字符串,返回一个对应于输入参数的option对象OptionSet
getOptions返回OptionSet字段的所有下拉选项OptionSet
getParent返回给定字段的实体记录对象所有
getPrecision获取给定字段的精度值,所谓精度值指的是小数点右边的位数money, decimal, integer, double
getRequiredLevel获取字段的需求级别,返回值包括有:
none:无需求级别;
required:业务必需;
recommanded:建议填写
所有
getSelectedOption获取OptionSet字段的当前选定的选项OptionSet
getSubmitMode获取字段的提交的模式,也就是说,在表单被保存时,特定字段的提交方式,返回值包括有:
always:总是被提交
never:从不被提交
dirty:只有在值发生变化的时候才提交
所有
getText返回一个字符串,代表了当前OptionSet字段的选择项的文本信息OptionSet
getUserPrivilege返回一个对象,以确定当前用户对本记录的操作权限,该对象的属性包括有:
canRead:是否有读权限
canUpdate:是否有更新权限
canCreate:是否有创建权限
所有
getValue获取字段的值,对于不同类型的字段,值的类型是不同的,包括有:
字段类型字段值类型
bool布尔型boolean
datetime日期Date
decimal数字Number
double数字Number
integer数字Number
money数字Number
lookup数组Array,数组中元素的类型是查找对象lookup object。每个查找对象包含如下的属性:
entityType:查找对象所代表的记录的实体逻辑架构名称
id:查找对象所代表记录的主键值
name:查找对象所代表的记录的主属性的值
memo字符串String
optionset数字Number,选项的的value属性的值
string字符串String
所有
removeOnChange和addOnChange对应,将某个处理函数从相应字段的OnChange事件处理函数列表中移除所有
setRequiredLevel设置字段的需求级别,接受的输入参数包括有:
none:无需求级别;
required:业务必需;
recommanded:建议填写
所有
setSubmitMode设置提交模式,接受的输入参数包括有:
always:总是被提交
never:从不被提交
dirty:只有在值发生变化的时候才提交
所有
setValue设置字段的值,不同类型的字段接收的值的类型也是不同的,具体的可以参见getValue部分的字段类型与字段值类型的对比介绍所有

    从Xrm.Page.data.entity.attributes集合中,获取属性的途径有以下几种:

第一,通过Xrm.Page.data.entity.attributes对象的get方法,获取所有的当前表单中的属性集合,例如:

var attributeList = Xrm.Page.data.entity.attributes.get(); 

另外,可以将方法指针作为参数传递给get()方法,从而可以根据条件对返回的属性进行筛选,例如下面的代码就是获取表单中所有lookup类型属性的样例代码:

 

    var lookupAttrList = Xrm.Page.data.entity.attributes.get(isLookup);

function isLookup(attribute, index)

{

attribute.getAttributeType == “lookup”;

}

第二,通过为Xrm.Page.data.entity.attributes.get()方法传入参数,获取参数指定的某个属性,输入参数是某个属性的逻辑名称,例如:

    var firstNameAttr = Xrm.Page.data.entity.attributes.get(“firstname”);

    就是在客户表单中,获取“名”这个属性。

第三,通过简写方式获取某个属性,即通过Xrm.Page.getAttribute()方法,并传入需要获取的属性的逻辑名称,得到某个属性,例如上面第二种途径的简化的写法:

    var firstNameAttr = Xrm.Page.getAttribute(“firstName”);

 

    关于操作属性的方法,有几个是需要注意的:

首先,操作Lookup类型的属性,由于该类字段的值是一个lookup对象的数组,所以在操作该字段的时候,需要小心。下面是获取lookup类型字段的方法:

 1 var createdByAttr = Xrm.Page.getAttribute(“createdby”);
2 if (createdByAttr != null)
3 {
4 createdByAttr = createdByAttr.getValue();
5 if (createdByAttr != null)
6 {
7 createdByAttr = createdByAttr[0];
8 //lookup对应的关联的主要实体记录的逻辑名称
9 var createdBy_entityType = createdByAttr.entityType;
10 //一个GUID值,形如xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
11 var createdBy_id = createByAttr.id;
12 //lookup字段对应的关联的主要实体记录的主要名称
13 var createdBy_name = createdByAttr.name;
14 }
15 }

为lookup字段赋值,就是一个反方向的操作:拼装一个lookup对象,将其作为数组的第一个元素,通过setValue()方法将数组赋值给一个lookup字段;

其次,Optionset类型的字段,简单而言,类似于HTML中的select元素。故此,该类型字段,包含有多个下拉选项option,每个选项有一个显示文本text,一个值value。

第三,对于datetime类型的字段,赋值的时候,需要使用Date类型的对象。

第四,表单中被禁用的字段,默认情况下,在保存的时刻,是不会被提交给服务器的,可以使用setSubmitMode()方法,并设置输入参数为“dirty”,可以将被禁用字段修改后的值提交给服务器。那么如何修改被禁用字段的值呢,当然是使用setValue()方法了。

转载于:https://www.cnblogs.com/StoneGarden/archive/2012/03/20/2408082.html

内容概要:该论文深入研究了液压挖掘机动臂下降势能回收技术,旨在解决传统液压挖掘机能耗高的问题。提出了一种新型闭式回路势能回收系统,利用模糊PI自整定控制算法控制永磁无刷直流电动机,实现了变转速容积调速控制,消除了节流和溢流损失。通过建立数学模型和仿真模型,分析了不同负载下的系统性能,并开发了试验平台验证系统的高效性和节能效果。研究还涵盖了执行机构能量分布分析、系统元件参数匹配及电机控制性能优化,为液压挖掘机节能技术提供了理论和实践依据。此外,通过实验验证,该系统相比传统方案可降低28%的能耗,控制系统响应时间缩短40%,为工程机械的绿色化、智能化发展提供了关键技术支撑。 适合人群:从事工程机械设计、制造及维护的工程师和技术人员,以及对液压系统节能技术感兴趣的科研人员。 使用场景及目标:①理解液压挖掘机闭式回路动臂势能回收系统的原理和优势;②掌握模糊PI自整定控制算法的具体实现;③学习如何通过理论建模、仿真和实验验证来评估和优化液压系统的性能。 其他说明:此研究不仅提供了详细的理论分析和数学建模,还给出了具体的仿真代码和实验数据,便于读者在实际工作中进行参考和应用。研究结果表明,该系统不仅能显著提高能源利用效率,还能延长设备使用寿命,降低维护成本,具有重要的工程应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值