如何在Dynamics 365中设置自定义字段“选项集”?
问题描述:
如何在Dynamics 365中设置自定义字段“选项集”? 这被剪断是为了检索,但为了设置?如何在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);
}
答
下面是一个使用后期绑定的方式设置的选项设置的例子:
_Account.Attributes.Add(“accountcategorycode”, new OptionSetValue(2));
在上面的例子中,_account是Microsoft.Xrm.Sdk.Entity的实例,OptionSetValue也是Microsoft.Xrm.Sdk库。
对于早期绑定,我使用XrmToolkit代理类,这给你一个枚举为每个选项设置,所以设置的选项设定值如下:
new_resulttype = eResultType.Integer;
我不明白你的问题。 –