Show MS CRM 2011 Optionset values in Dropdownlist in Asp.net


Sometime customers have requirement to create MS CRM records through custom asp.net pages, and if we have optionset in that entity we might want to display optionset valeus in dropdownlist. So we can use below code to populate optionset values in dropdownlist.

public Dictionary<int, string> RetrieveOptionsetMetadata(IOrganizationService _iOgranizationService)

{ //Dictionary to store value and text

 Dictionary<int,string> _DropdownDatasource=newDictionary<int,string>();

 //Create request to fetch optionset

 RetrieveAttributeRequest _Request = new RetrieveAttributeRequest{

EntityLogicalName =“EntityName”,

LogicalName =“OptionsetFieldName”,

RetrieveAsIfPublished =true

 };

 // Execute the request

 RetrieveAttributeResponse _Response =(RetrieveAttributeResponse)_iOgranizationService.Execute(_Request);

 PicklistAttributeMetadata _PicklistAttributeMetadata = (PicklistAttributeMetadata)_Response.AttributeMetadata;

 OptionMetadata[] optionList =_PicklistAttributeMetadata.OptionSet.Options.ToArray();

 foreach (OptionMetadata _Optionset in optionList) {

_DropdownDatasource.Add(int.Parse(_Optionset.Value.ToString()), _Optionset.Label.UserLocalizedLabel.Label);

}

 return _DropdownDatasource;

}

After that we can set datasource for dropdownlist like below

DropDownList1.DataSource = RetrieveOptionsetMetadata(_iOgranizationService);

DropDownList1.DataBind();

Enjoy !!!

Advertisements

Leave a comment

Filed under MS CRM 2011

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s