如何在Dynamics 365中设置自定义字段“选项集”?

时间:2017-05-29 14:40:32

标签: dynamics-crm dynamics-crm-2013

如何在Dynamics 365中设置自定义字段“选项集”? 剪切是为了检索,但是用于设置?

var _entityName = "systemuser"; //user
var fieldName = "new_officetype";  //option set field

RetrieveEntityRequest entityRequest = new RetrieveEntityRequest
{
    EntityFilters = EntityFilters.All,
    LogicalName = _entityName,
    RetrieveAsIfPublished = true
};

// Get the Response and MetaData. Then convert to Option MetaData Array.
RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)_orgService.Execute(entityRequest);
EntityMetadata metadata = entityResponse.EntityMetadata;
PicklistAttributeMetadata picklistMetadata = metadata.Attributes.FirstOrDefault(attribute => String.Equals(attribute.LogicalName, fieldName, StringComparison.OrdinalIgnoreCase)) as PicklistAttributeMetadata;
OptionSetMetadata optionsSetMet = picklistMetadata.OptionSet;
var optionlist = (from o in optionsSetMet.Options
                  select new { Value = o.Value, Text = o.Label.UserLocalizedLabel.Label }).ToList();
foreach (var item in optionlist)
{
    Console.WriteLine(item.Text + " " + item.Value);
}         

1 个答案:

答案 0 :(得分:2)

以下是使用后期绑定方法设置选项集的示例:

.NET Core

在上面的示例中,_Account是Microsoft.Xrm.Sdk.Entity的一个实例,OptionSetValue也在Microsoft.Xrm.Sdk库中。

对于早期绑定,我使用XrmToolkit代理类,它为每个选项集提供枚举,因此设置选项设置值如下所示:

_Account.Attributes.Add(“accountcategorycode”, new OptionSetValue(2));
相关问题