Making value in one lookup depended on value of another lookup.

Making value in one lookup depended on value of another lookup in Microsoft CRM. Say we have created 2 custom entities Categories and Skill. Skill entity has category lookup field which relates it to that category.(Added a relationship between them)Than created few records for both the entities. After that we have added that entities to the third entity where they’ll appear as LookUp.

Now we want the value of Skill lookup to be dependent value selected on Resource(Category) LookUp.

untitled1.JPG

Resource can have following values

untitled2.JPG

Now if Datawarehousing is selected than

we want to show Analysis and SSAS in the Skill lookup

untitled3.JPG

To accomplish this we will write the following code in the OnChange event of Resource Lookup

// Making the skill id lookup null whenver a new values is selected for reesource

crmForm.all.new_skillid.DataValue=null;

crmForm.all.new_skillid.disabled = false;

// getting the value of selected resource

var ar=new Array();

ar=crmForm.all.new_resourceid.DataValue;

var rID = ar[0].id;

// Changing the display of skillid lookup so that only skill belonging to particular rID should appear

crmForm.all.new_skillid.lookupbrowse=1;

// in the additionalparams for the skill id attribute we will specify the fetch xml query // e.g. select * from new_categoryskill (name of our custom skill entity) where new_categoryofskillid = rid

crmForm.all.new_skillid.additionalparams = “fetchXml=<fetch mapping=’logical’ ><entity name=’new_categoryskill’><all-attributes/><filter type=’and’><condition attribute=’new_categoryofskillid’ operator=’eq’ value='” + rID + “‘/></filter></entity></fetch>”;

To get the fetchXml query what we can do over here is

http://ronaldlemmen.blogspot.com/2006/11/using-advanced-find-for-fetchxml.html

We will go to our skill entity form and run an advancedfind query against it (giving the appropriate condition for which we want the fetch xml)

Now pressing CTRL+N open it in a new window Now in URl replace everything with the following line

javascript:prompt(“my%20query:”,%20resultRender.FetchXml.value);

Press Ok to the dialog that appears and it opens a prompt window from where we can copy our fetch xml and modify it accordingly.



Author: Nishant Rana

I love working in and sharing everything about Microsoft.NET technology !

2 thoughts on “Making value in one lookup depended on value of another lookup.”

Share your thoughts

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