Dependent Option Sets Updated for Dynamics 365

Dependent Option Sets Updated for Dynamics 365

Option sets in CRM are an easy way to ensure clean data. Limiting end user choices tends to streamline business processes and ensure uniform data entry. It is possible to extend the advantage of option sets in Dynamics 365 by implementing dependent option sets. A dependent option set shows values conditionally, based on the value chosen in the “parent” option set. Using this method, you can simplify the UI of CRM and further eliminate confusion for your end users. Here is a short list of a few key features:

Features of Dependent Option Sets:

  • The child option set value will be cleared and locked if the parent option set is empty.
  • The child option set is unlocked when a parent option set value is selected.
  • When a value is changed in the parent option set and the value in the child option set no longer applies, then the value in the child option set is cleared.
  • A parent pick list can have any number of children.

Microsoft has thoughtfully included sample code in their SDK going all the way back to 2011. However, with each iteration of CRM up to and including Dynamics 365, this code has changed from version to version.

The latest version of this code as of this writing can be found here:

This version differs significantly from the version provided in even the latest SDK ( as of this writing) which DOES NOT WORK with the latest Dynamics 365.

Notable Changes:

  • Configurations are now written in JavaScript and JSON notation. They were previously written in XML. However, this created some issues when option set labels included ampersands. You will need to rewrite your configurations.
  • The previous iteration of the JS library used native for…in to iterate objects with both attributes and methods. This resulted in the UI freezing. Now it uses .foreach() from the “stock” JS library.
  • SDK code did not work with mobile clients due to the way they handle scope differently than browsers.

TrellisPoint is a professional services firm specialized in the implementation, management and maintenance of CRM systems. We have years of experience customizing Dynamics CRM and Dynamics 365. Because of the constant improvements and changes made to Dynamics, even so-called “supported” customizations sometimes require maintenance. Please do not hesitate to contact us for a free consultation with no commitment required.

By | 2019-03-19T20:40:39+00:00 December 22nd, 2017|Uncategorized|5 Comments

About the Author:

Andy Freeman
Andy is a CRM developer and consultant at TrellisPoint.


  1. Avatar
    Graeme Donnell February 7, 2019 at 3:23 pm - Reply

    Hi Andy,

    This functionality will assist me greatly in a Dynamics 365 implementation I am working on, but sadly the link in your post doesn’t resolve to any material.

    Can you provide me with this solution or a link to the material itself.


  2. Andy Freeman
    Andy Freeman March 19, 2019 at 8:43 pm - Reply

    I updated the link to the MS Developer Network.

  3. Avatar
    Gabriel N. February 3, 2020 at 3:05 pm - Reply

    Hello Andy,
    Unfortunately the link is not working… Did they completely remove that?

  4. Avatar
    Gabriel N. February 3, 2020 at 3:05 pm - Reply

    Hello Andy,

    Sorry, reposting this with notifications going to my email..

    Unfortunately the link is not working… Did they completely remove that?

  5. Andy Freeman
    Andy Freeman February 3, 2020 at 3:27 pm - Reply

    Yep – MSDN content churn strikes again. Once again, version changes have broken the 8.2 code here: Luckily, it looks like Guido Preite @crmasnwers is providing solutions for the many versions of CRM and D365CE here:

Leave A Comment