C# 获取拾取列表中选项的值
我正在创建实体的虚假实例C# 获取拾取列表中选项的值,c#,dynamics-crm-2011,C#,Dynamics Crm 2011,我正在创建实体的虚假实例beep。它有一个类型为picklist的必填字段,名为pickaboo。首先我省略了它,但随后应用程序开始抱怨向我抛出错误消息,因为某些业务逻辑要求所有新创建的beep实例都分配该字段 Entity entity = new Entity { LogicalName = "beep" }; Guid guid = proxy.Create(entity); proxy.Delete("beep", guid); 我没有给出关于这个需求的啮齿动物的尾巴部分,因为在我创建
beep
。它有一个类型为picklist
的必填字段,名为pickaboo
。首先我省略了它,但随后应用程序开始抱怨向我抛出错误消息,因为某些业务逻辑要求所有新创建的beep
实例都分配该字段
Entity entity = new Entity { LogicalName = "beep" };
Guid guid = proxy.Create(entity);
proxy.Delete("beep", guid);
我没有给出关于这个需求的啮齿动物的尾巴部分,因为在我创建了这个实例之后,我正在删除它。然而,CRM给了一个巨大的啮齿动物,不让我做我的魔术。因此,我聪明地为缺少的属性添加了一个属性
OptionSetValue option = new OptionSetValue(0);
Entity entity = new Entity { LogicalName = "beep" };
entity.Attributes.Add("pickaboo", option);
Guid guid = proxy.Create(entity);
proxy.Delete("beep", guid);
当然,它不起作用,因为零不是有效值。显然,CRM基于解决方案添加了一个散列数,因此实际的“零”具有类似“84600000000”的数值,实际的“一”具有“846000000001”等
如何以编程方式获得该值
现在我有一个难看的解决办法,就是获取所有的
哔哔声
s,然后从第一个中获取值。别让我知道我失去了多少睡眠,知道这看起来有多尴尬,有人会花时间给我一些反馈吗(您有两个选择
entity.Attributes.Add(“pickaboo”,新选项setvalue((int)pickaboo.YourEnumValue);
RetrieveOptionSetRequest
消息获取您感兴趣的特定选项集的所有值的列表。请参阅你有两个选择
entity.Attributes.Add(“pickaboo”,新选项setvalue((int)pickaboo.YourEnumValue);
RetrieveOptionSetRequest
消息获取您感兴趣的特定选项集的所有值的列表。请参阅try/catch
包围它,这样,如果拼写错误或诸如此类,您就不会挠头了
RetrieveAttributeRequest request = new RetrieveAttributeRequest
{
EntityLogicalName = "beep",
LogicalName = "pickaboo",
RetrieveAsIfPublished = true
};
RetrieveAttributeResponse response
= proxy.Execute(request) as RetrieveAttributeResponse;
PicklistAttributeMetadata metaData
= response.AttributeMetadata as PicklistAttributeMetadata;
OptionSetValue option
= new OptionSetValue(metaData.OptionSet.Options[0].Value ?? -1);
proxy
的代理建立了工作连接try/catch
,以防发生越界异常-1
选项,因为返回的值
是可为空的整数try/catch
包围它,这样,如果拼写错误或诸如此类,您就不会挠头了
RetrieveAttributeRequest request = new RetrieveAttributeRequest
{
EntityLogicalName = "beep",
LogicalName = "pickaboo",
RetrieveAsIfPublished = true
};
RetrieveAttributeResponse response
= proxy.Execute(request) as RetrieveAttributeResponse;
PicklistAttributeMetadata metaData
= response.AttributeMetadata as PicklistAttributeMetadata;
OptionSetValue option
= new OptionSetValue(metaData.OptionSet.Options[0].Value ?? -1);
proxy
的代理建立了工作连接try/catch
,以防发生越界异常-1
选项,因为返回的值
是可为空的整数这个问题启发了我写博客 如果你看了下面我的帖子,你会发现一个函数,可以用来查找picklists(全局和本地选项集)、statecode、statuscode和boolean(两个选项)字段的int值
这个问题激发了我写博客的灵感 如果你看了下面我的帖子,你会发现一个函数,可以用来查找picklists(全局和本地选项集)、statecode、statuscode和boolean(两个选项)字段的int值
这个特定的客户不会让我在没有监督的情况下登录。我认为在控制台中运行任何东西都会导致心脏骤停,呵呵。我会给选项2一个机会,希望它能解决我的小问题。谢谢,伙计,特别是如果它能工作的话!这个特定的客户不会让我在没有监督的情况下登录。我想运行任何东西在控制台中会导致心脏骤停,呵呵。我会给选项2一个秋千,希望它能解决我的小问题。谢谢,伙计,特别是如果它有效的话!该死的-我的老板实际上一直在唠叨我应该多写博客,我打算写一篇关于这个主题的文章,就像你一样。现在,这感觉像是一个冒牌货。但我要做的是无论如何。需要让老板高兴…该死-我的老板实际上一直在唠叨我应该多写博客,我打算写一篇关于这个主题的文章,就像你做的那样。现在,这感觉像是一个冒牌货。但我无论如何都要这么做。需要让老板高兴。。。