CRM 客户端程序开发:获取表单界面上各种字段的值及其他属性

我们写程序常用的就是获取字段的值,对于不同的字段类型,通过getValue() 获取到的值如下,这个表摘自SDK中的 Xrm.Page.data.entity attribute (client-side reference) 章节。


Attribute Type


Return Type


boolean


Boolean


datetime


Date

To get the string version of a date using the Microsoft Dynamics CRM user’s locale preferences, use the format and localeFormat methods. Other methods will format dates using the operating system locale rather than the user’s Microsoft Dynamics CRM locale preferences.


decimal


Number


double


Number


integer


Number


lookup


Array

An array of lookup objects.


Note


Certain lookups allow for multiple records to be associated in a lookup, such as the To: field for an e-mail entity record. Therefore, all lookup data values use an array of lookup objects – even when the lookup attribute does not support more than one record reference to be added.

Each lookup has the following properties:

entityType

String: the name of the entity displayed in the lookup

id

String: The string representation of the GUID value for the record displayed in the lookup.

name

String: The text representing the record to be displayed in in the lookup.


memo


String


money


Number


optionset


Number


string


String

我具体通过下面的代码来演示各种字段获取值得方法:


elseif(Xrm.Page.ui.getFormType()==2){//打开现有记录来修改
Xrm.Page.data.entity.attributes.forEach(
function(attribute, index){
var attrType = attribute.getAttributeType();
switch(attrType)
{
case"boolean":
                           alert("字段类型:两个选项;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
case"datetime":
                           alert("字段类型:日期和时间;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
case"decimal":
                           alert("字段类型:十进制数;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
case"double":
                           alert("字段类型:浮点数;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
case"integer":
                           alert("字段类型:整数;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
case"lookup":
                           alert("字段类型:查找;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n显示值:"+ attribute.getValue()[0].name +";选择记录ID"+ attribute.getValue()[0].id +"选择记录逻辑名称:"+ attribute.getValue()[0].entityType);
break;
case"memo":
                           alert("字段类型:多行文本;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
case"money":
                           alert("字段类型:货币;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
case"optionset":
                           alert("字段类型:选项集;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n选择值:"+ attribute.getValue()+"选择文本:"+ attribute.getText());
break;
case"string":
                           alert("字段类型:单行文本;\n字段逻辑名称:"+ attribute.getName()+":\n字段必输属性:"+ attribute.getRequiredLevel()+";\n提交属性:"+ attribute.getSubmitMode()+";\n值是否修改过:"+ attribute.getIsDirty()+"\n值:"+ attribute.getValue());
break;
default:
                           alert("未知");
}
});
}

效果如下,需要注意查找字段获取值得分析。

 


   

 
     

时间: 2024-11-04 06:47:51

CRM 客户端程序开发:获取表单界面上各种字段的值及其他属性的相关文章

CRM 客户端程序开发:根据主键使用OData获取记录的值

根据官方的建议,在表单界面使用OData终结点最好使用REST版本,而不是jQuery版本,所以我这个示例是按照官方的建议来做的. 因为我的JavaScript水平不怎么高,我就直接利用SDK里面的示例辅助JavaScript类库吧.这个类库的位置在 SDK\SampleCode\JS\RESTEndpoint\JavaScriptRESTDataOperations \JavaScriptRESTDataOperations\Scripts. 我将这个文件夹下面的 SDK.REST.js 和

CRM 客户端程序开发:设置实体表单界面字段的值

为了方便演示,我这里新建一个实体,实体定义如下: 还为它定义了如下的自定义字段,每种可定义的类型都有,基本上都是使用默认设置: 并且修改了它的窗体类型为主要的窗体,使它新建记录的界面如下所示: 我这里用代码演示,新建记录的时候为每个字段设置默认值.代码当然是JavaScript代码,需要放到类型为JScript的Web资源中,上传到CRM中并发布,然后和事件挂钩,这样就可以执行了. 我打开以前新建的解决方案,右击 CrmPackge 项目下面的 WebResources 文件夹,选择 添加 >

CRM 客户端程序开发:自定义系统标准按钮的可用性

一般是新建一个解决方案用于客制化命令栏和Ribbon区,我这里是新建了一个 RibbonEditor的解决方案,然后将你要修改的实体加入进来. 我这里是选择 报价单 实体,然后点击 确定 按钮. 在 CRM > 设置 > 解决方案页面 点击 自定义 图标. 选择前面建立的解决方案,然后点击 OK 按钮. 确保选择的选项卡是Command Bar,因为我这里要修改的实体是Dynamics CRM 2013版本中的更新的实体.在 ENTITIES 中选择你要修改的实体,上面部分就会更新成你选择实体

Dynamics CRM 2013 SP1 客户表单界面上联系人subgrid上的添加现有联系人按钮缺失

CRM2013打了SP1的同学会发现一个问题,客户关联联系人的1:N关系,在表单subgrid中添加联系人时,只能新建而无法添加现有联系人,而这个现象在之前的版本中是没有的. 我们通过工具ribbonworkbench打开联系人,在subgrid栏右击add existing按钮,选择customise command 在command中找到display rules,点开会看到有6个规则 里面有一条NotOnAccountForm的规则,里面就限定了不在客户界面显示的规则,把这个规则移除就OK

开发指南专题十:JEECG微云快速开发平台--表单校验组件ValidForm

10.4Validform对象[方法支持链式调用] 如示例 var demo=$(".formsub").Validform(),那么demo对象会有以下属性和方法可以调用: tipmsg[object] 如:demo.tipmsg.s="error! no messageinputed."; 通过该对象可以修改除 tit 以外的其他提示文字,这样可以实现同一个页面的不同表单使用不同的提示文字. 具体可修改的提示文字 $.Tipmsg={//默认提示文字; tit:

表单的属性和方法, 获取表单和表单的元素, 验证表单

表单的属性和方法 一. 表单字段的属性(id/name/value/form),这里用value属性来举例 上面的form属性代表获取表单字段的父级表单对象 1. 属性的获取         console.log(document.myform.username.value); 2. 属性的设置            document.myform.username.value="123"; 3. 获取表单字段的父级表单对象 console.log(document.myform.u

Ajax中通过JS代码自动获取表单元素值的示例代码

我们在使用Ajax的时候,通常需要获取表单元素值,然后发送给后台的服务器端程序处理.如果表单元素不多的情况我们常常会通过GET方式来获取表单元素值,但如果表单元素非常多,此时就需要用POST方式来获取表单元素值,那么如何来获取表单元素值呢?下面给出一段JS代码即可自动获取表单元素的值了 http://www.qidian.com/BookReader/1839917,60421843.aspx http://www.qidian.com/BookReader/1839917,60422045.a

Servlet之doPost获取表单参数

/** * 获取表单参数 */ private void readForm() { // TODO Auto-generated method stub Enumeration e = request.getParameterNames(); while (e.hasMoreElements()) { String parameterName = (String) e.nextElement(); String parameterValue= request.getParameter(param

struts2入门之struts2获取表单数据

在上一篇博文中分享了action如何获取表单数据,在本篇博文中分享一下用struts2这个框架如何来获取表单数据. struts2获取表单数据可以分为三种方式: 1.属性封装 2.模型驱动封装 3.表达式封装 分别介绍以上三种方式: 属性封装的步骤:首先在action中定义成员变量,并写set方法(这里为了避免和后面的混淆,把get和set方法都写上得了),然后该action要访问的form表单中的属性值要和定义的成员变量名称一样,在action访问到jsp页面时,form表单中的数据都已经拿到