//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. SDK调试出错小技巧=。=

    学习Unity小伙伴完全不懂Android编程抓错误是很困难的..... 1. 使用UnityPlayer.UnitySendMessage(); 发送到Unity使用OnGUI显示错误 2. 直接在 ...

  2. JS给元素循环添加事件的问题

    <ul> <li>男</li> <li>女</li> <li>老</li> <li>少</li&g ...

  3. Unity 梯子生成算法

    Unity之生成梯子算法的实现. 1.通过预制物体动态生成角度可设置的梯子形状. 1.1 主要涉及到的数学知识点,角度与弧度的转化. 弧度=角度乘以π后再除以180 角度=弧度除以π再乘以180 1. ...

  4. ubuntu WiFi: operation not possible due to RF-kill《转载》

    Some people have been experiencing WiFi problems with Ubuntu 10.10 since an update that happend just ...

  5. AAC ADTS解析

    1.ADTS ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式. 一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ...

  6. .NET Web开发之.NET MVC框架

    摘要:MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序.那么什么是MVC?MVC由三部分组成:Model(模型).View(视图)及Controller(控制器). MVC概 ...

  7. Spring 注入数据源

    一.在项目中添加dataSource所用到的包 dbcp数据源所需包:     commons-dbcp.jar     commons-pool.jar C3P0数据源所需包:     c3p0-0 ...

  8. hdu2206IP的计算

    Problem Description 在网络课程上,我学到了很多有关IP的知识.IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方 ...

  9. queue 之团队队列(摘)

    有t个团队的人正在排一个长队.每次新来一个人时,如果他有队友在排队,那么这个新人会插队到最后一个队友的身后.如果没有任何一个队友排队,则他会排到长队的队尾. 输入每个团队中所有队员的编号,要求支持如下 ...

  10. webpy + nginx + fastcgi 构建python应用

    1.准备环境 CentOs  6.3 nginx-1.4.2.tar.gz            http://nginx.org/download/nginx-1.4.2.tar.gz openss ...