//C#代码

//#region OptionMetadataCollection

//OptionMetadataCollection opCollection = new OptionMetadataCollection();

//opCollection.Add(new OptionMetadata(new Label("2000年", languageCode), 2000));

//opCollection.Add(new OptionMetadata(new Label("2001年", languageCode), 2001));

//opCollection.Add(new OptionMetadata(new Label("2002年", languageCode), 2002));

//opCollection.Add(new OptionMetadata(new Label("2003年", languageCode), 2003));

//opCollection.Add(new OptionMetadata(new Label("2004年", languageCode), 2004));

//opCollection.Add(new OptionMetadata(new Label("2005年", languageCode), 2005));

//#endregion

//OptionSetMetadata optionSet = new OptionSetMetadata(opCollection);

//optionSet.Name = "new_year";

//optionSet.Description = new Label("年份", languageCode);

//optionSet.DisplayName = new Label("年份", languageCode);

//optionSet.IsGlobal = true;

//optionSet.OptionSetType = OptionSetType.Picklist;

//CreateOptionSetRequest request = new CreateOptionSetRequest();

//request.OptionSet = optionSet;

//CreateOptionSetResponse response = (CreateOptionSetResponse)service.Execute(request);

//样例

function demo() {

    //字段名称

    var attrName = "new_year";

    //标签

    var labelName = "年份";

    //语言编码

    var code = 2052;

    //集合

    var dataArray = [];

    dataArray.push(getOptionItem("2000年", 2000));

    dataArray.push(getOptionItem("2001年", 2001));

    dataArray.push(getOptionItem("2002年", 2002));

    dataArray.push(getOptionItem("2003年", 2003));

    dataArray.push(getOptionItem("2004年", 2004));

    dataArray.push(getOptionItem("2005年", 2005));

    dataArray.push(getOptionItem("2006年", 2006));

createOption(attrName, labelName, code, dataArray);


   

}

function getOptionItem(name, value) {

    var item = new Object();

    item.name = name;

    item.value = value;

    return item;

}

function createOption(attrName,labelName,code,dataArray) {

    var request = "<s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>";

    request += "<s:Body>";

    request += "<Execute xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>";

    request += "<request i:type='a:CreateOptionSetRequest' xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts'>";

    request += "<a:Parameters xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'>";

    request += "<a:KeyValuePairOfstringanyType>";

    request += "<b:key>OptionSet</b:key>";

    request += "<b:value i:type='c:OptionSetMetadata' xmlns:c='http://schemas.microsoft.com/xrm/2011/Metadata'>";

    request += "<c:MetadataId i:nil='true' />";

    request += "<c:HasChanged i:nil='true' />";

    request += "<c:Description>";

    request += "<a:LocalizedLabels>";

    request += "<a:LocalizedLabel>";

    request += "<c:MetadataId i:nil='true' />";

    request += "<c:HasChanged i:nil='true' />";

    request += "<a:IsManaged i:nil='true' />";

    request += "<a:Label>"+ labelName +"</a:Label>";

    request += "<a:LanguageCode>2052</a:LanguageCode>";

    request += "</a:LocalizedLabel>";

    request += "</a:LocalizedLabels>";

    request += "<a:UserLocalizedLabel i:nil='true' />";

    request += "</c:Description>";

    request += "<c:DisplayName>";

    request += "<a:LocalizedLabels>";

    request += "<a:LocalizedLabel>";

    request += "<c:MetadataId i:nil='true' />";

    request += "<c:HasChanged i:nil='true' />";

    request += "<a:IsManaged i:nil='true' />";

    request += "<a:Label>"+ labelName +"</a:Label>";

    request += "<a:LanguageCode>2052</a:LanguageCode>";

    request += "</a:LocalizedLabel>";

    request += "</a:LocalizedLabels>";

    request += "<a:UserLocalizedLabel i:nil='true' />";

    request += " </c:DisplayName>";

    request += "<c:IsCustomOptionSet i:nil='true' />";

    request += "<c:IsCustomizable i:nil='true' />";

    request += "<c:IsGlobal>true</c:IsGlobal>";

    request += "<c:IsManaged i:nil='true' />";

    request += "<c:Name>"+ attrName +"</c:Name>";

    request += "<c:OptionSetType>Picklist</c:OptionSetType>";

    request += "<c:Options> ";

    //加入详细的每一小项

    if (dataArray != null && dataArray.length > 0) {

        var len = dataArray.length;

        for (var i = 0; i < len; i++) {

            var item = dataArray[i];

            request += getItem(item.name, item.value, code);

        }

    }

    request += "</c:Options>";

    request += "</b:value>";

    request += "</a:KeyValuePairOfstringanyType>";

    request += "</a:Parameters>";

    request += "<a:RequestId i:nil='true' />";

    request += "<a:RequestName>CreateOptionSet</a:RequestName>";

    request += "</request>";

    request += "</Execute>";

    request += "</s:Body>";

    request += "</s:Envelope>";

execSoap(request);

}

function getItem(name,value,code) {

    var request = "<c:OptionMetadata>";

    request += "<c:MetadataId i:nil='true' />";

    request += "<c:HasChanged i:nil='true' />";

    request += "<c:Description i:nil='true' />";

    request += "<a:IsManaged i:nil='true' />";

    request += "<c:Label>";

    request += "<a:LocalizedLabels>";

    request += "<a:LocalizedLabel>";

    request += "<c:MetadataId i:nil='true' />";

    request += "<c:HasChanged i:nil='true' />";

    request += "<a:IsManaged i:nil='true' />";

    request += "<a:Label>" + name + "</a:Label>";

    request += "<a:LanguageCode>"+ code +"</a:LanguageCode>";

    request += "</a:LocalizedLabel>";

    request += "</a:LocalizedLabels>";

    request += "<a:UserLocalizedLabel i:nil='true' />";

    request += "</c:Label>";

    request += "<c:Value>"+ value +"</c:Value>";

    request += "</c:OptionMetadata>";

    return request;

}

//获取服务地址

function getWebUrl() {

    var serverUrl = Xrm.Page.context.getServerUrl();

    if (serverUrl.match(/\/$/)) {

        serverUrl = serverUrl.substring(0, serverUrl.length - 1);

    }

    return serverUrl + "/XRMServices/2011/Organization.svc/web";

}

//运行请求

function execSoap(request) {

    var ajaxRequest = new XMLHttpRequest();

    ajaxRequest.open("POST", getWebUrl(), true)

    ajaxRequest.setRequestHeader("Accept", "application/xml, text/xml, */*");

    ajaxRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");

    ajaxRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");

    ajaxRequest.send(request);

}

crm使用soap创建下拉框的更多相关文章

  1. crm使用soap更改下拉框的文本值

    //C#代码 //UpdateStateValueRequest updateStateValue = new UpdateStateValueRequest //{ //    AttributeL ...

  2. crm使用soap插入下拉框选项

    //C# 代码: //InsertOptionValueRequest request = new InsertOptionValueRequest(); //request.OptionSetNam ...

  3. crm使用soap删除下拉框

    //C# 代码: //DeleteOptionSetRequest request = new DeleteOptionSetRequest(); //request.Name = "new ...

  4. 使用ng-options指令创建下拉框

    今天在学习AngularJs中使用ng-options指令创建下拉框时遇到点问题,这里总结一下. 其实,使用ng-options指令创建下拉框很简单,只需要绑定两个属性. ng-options指令用于 ...

  5. layui 根据根据后台数据动态创建下拉框并同时默认选中

        第一步 form表单里写好一个下拉框 <div class="layui-form-item"> <label class="layui-for ...

  6. jQuery无限级联下拉框插件

    自己编写jQuery插件 之 无限级联下拉框   因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...

  7. java操作poi生成excel.xlsx(设置下拉框)下载本地和前端下载

    需求:导入excel表格,如果excel有错误,将错误的地方标红,在把数据以excel的形式写出,供用户下载解决方案:1.以实体类的方式接收excel并解析(创建两个集合一个接收正常的数据一个接收错误 ...

  8. vue自定义下拉框组件

    创建下拉框组件 Select.vue <template> <div class="selects"> <div :class="{sele ...

  9. 雷林鹏分享:jQuery EasyUI 表单 - 创建树形下拉框

    jQuery EasyUI 表单 - 创建树形下拉框 树形下拉框(ComboTree)是一个带有下列树形结构(Tree)的下拉框(ComboBox).它可以作为一个表单字段进行使用,可以提交给远程服务 ...

随机推荐

  1. printf "%.*s" 分类: 小细节 2015-07-04 14:36 2人阅读 评论(0) 收藏

    ref : http://www.cnblogs.com/yuaqua/archive/2011/10/21/2219856.html 小数点.后"*"表示输出位数,具体的数据来自 ...

  2. OpenWrt编译

    OpenWrt编译简单过程1,OpenWrt编译环境准备sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoco ...

  3. hibernate多对一的操作解析

    在hibernate的关联操作中有很多关系,其中多对一关系是最常见的.我们看这两个表. 这里有部门表和员工表. 那么我们可以这么说一个部门可以有多个员工.这就是1对多的关系.这是我们站在部门表的角度上 ...

  4. JavaWeb——文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  5. 要点Java17 String

    字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式例如以下: String greeting = &quo ...

  6. Hibernate annotation多对多配置

    角色(用户组),用户多对多. 角色实体配置: private Set<TAuthUser> users; @ManyToMany @JoinTable(name="t_auth_ ...

  7. 求斐波那契数列的第n项

    问题描述:斐波那契数列是这样的一个数列,1,1,2,3,5,8,..,即前两项都是1,后面每一项都是其前面两项的和. 现在要你求出该数列的第n项. 分析:该问题是一个经典的数列问题,相信大家在很多语言 ...

  8. Linux shell 的 test 命令用法详解

    基本格式:test expression expression为test命令构造的表达式.这里expression是test命令可以理解的任何有效表达式,该简化格式将是读者可能会踫见的最常用格式返回值 ...

  9. XML及PullParser解析

    一.什么是XML 1.概念:extensive markup language(可扩展的标记语言) XML是一种通用的数据存储和交换格式,与平台无关,与编程语言无关,与操作系统无关.给数据集成和交互提 ...

  10. Single Number(JAVA)

    Given an array of integers, every element appears twice except for one. Find that single one. Note: ...