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.
Resource can have following values
Now if Datawarehousing is selected than
we want to show Analysis and SSAS in the Skill lookup
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.disabled = false;
// getting the value of selected resource
var ar=new Array();
var rID = ar.id;
// Changing the display of skillid lookup so that only skill belonging to particular rID should appear
// 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
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
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.