Sunday, December 16, 2012

Reading OptionSet Items Key/value Using MetaData Request

Problem:
             Sometimes we need to get the option set key value pair to display in web resource like Silverlight etc or sometimes we have option set key but we need to display value (which is the string type display in option set).

Solution:
             When creating web resource for MS CRM 2011 there are some situations when we need to display one of the option set in combo box or in dropdown html control so that user can select any of the option from the combo box or from dropdown control. In order to get option set item we need to make meta data call which can return number of item of that field of entity.You can see the screen of the sample application in Image 1; here you can see that I have continue my last post where I have display entity attribute meta data for this sample I have displayed on option set attributes and also added data grid control to display option set items.
Image 1
Let us discuss code which is used to get the option set items from by using meta data request You can see the code in List 1 you can see the function which is used to get the items "getOptionSetLabels", function will take entity schema name and also the schema name of the option set attribute and display name of the option set attribute which will be displayed while showing busy bar.
Here you can see that first property of the request is the request name is "RetreiveAttributes" and the second property which is set is logical name of the entity, and I have used entity name which is passed to the function and then is the logical name which is the schema name of the option set attribute which is also passed to the function. Both entity name and the attribute name(which is the option set ) are schema names.
List 1

Code in List 1, I have mentioned important properties of the request, now when the request return call back event handler is executed and here you can see I just get the option set meta data to loop through and get all the option set item as code is listed in List 2.
List 2

This is how you can get option set item using meta data request, if you want to get only string value of just one option set item then you can loop through the item in the option set and then use if condition to get the specific value and then break. You can use same request to get all option set item or you can get only one value of the option set item by passing the key ( integer value of the option set).

Downloads
You can download the source code of the sample from here.
and working CRM 2011 solution from here.


Go to Home

All and any comments / bugs / suggestions are welcomed!

Sunday, December 9, 2012

Retrieve Entity Attributes Metadata

Problem:
              Need to get information regarding entity as well entity attributes.
Solution:
              As in my last post I have explain how to get meta data of the entities in the MS Dynamic CRM 2011, and get the information such as display name, schema name , description of the entities , now in this post I will explain how to get attributes information of each of the entity by providing entity name and then display the display name, schema name ,description and other properties of the attributes which an entity has.You can see the layout in Image 1, here you can see that I have provided search box to enter name of the entity to search the attributes and then when user select entity name (as I have use auto complete box of Silverlight , I have also provide the entity names so that user can easily search name of the entity by entering some of the initial character of the entity name).Then in the data grid control I have display information of the attribute which an entity has.


Image 01

Code to retrieve entity attribute meta data is listed in List 1, here you can see some of the difference of the code which I have used in my last post to get information of the entities.First thing which different is that request name here I have used the "RetrieveEntity" as request name, and then I have also mention the Attributes in the entity filter property of the request so that we can get attributes of the entity.Here you can see that in the Entity Filter attribute of the request I have mention both entity and attribute mean I want entity meta data and also attribute meta data of the entity which I am requesting.Next attribute of the request is the "LogicalName" , here I have provided schema name of the entity which user has selected from auto complete box.
List 1

Next is to send the request to retrieve the entity and entity attribute meta data , in the call back method I just loop through the attributes to get the properties like display name, schema name, description etch of the attributes which will be displayed in the data grid control. In the call back method I have just used the proper type name for attribute type which are displayed in the entity customization.
Downloads
You can download the source code of the sample from here.
and working CRM 2011 solution from here.

Go to Home

All and any comments / bugs / suggestions are welcomed!