Forum Discussion
Cascading Drop Down Lists in SharePoint
Damien NICOLAS , I have a solution I have just applied to my SharePoint Online List, and I'm not a global admin and I'm not using complex code or 3rd party apps - I'm just using multiple fields.
Setup:
1. Create Level 1 category list in a choice field - cat1.list
2. Create Level 2 category lists in a choice field - cat2.lista, cat2.listb (essentially you are creating a field for each option in the Level 1 list)
3. Create a resolver field. It is a calculated filed. This is where we actually resolve the selected category. The calculation would be: =IF([cat1.list]="List A",cat2.lista,IF([cat1.list]="List B",cat2.listb,[cat1.list]))
This is for only two lists and essentially the resolver will return either the value selected in the 2nd list, or just the value in the first list if nothing is selected.
So, the next part if fixing the form so it's not just filled with level 2 category choice fields - this is not a problem in SharePoint Online using the Edit Columns feature of a List Form. You simply add a Conditional formula on the field so that it is true when the category is called. The formula would look like this for cat2.lista: =if([$cat1.list]=='List A','true', 'false').
If you also have some PowerApps, you can essentially use the same trick using the visible filter - essentially you are limiting the visibility of the 2nd Category options to the one that matches the selected Category 1 option. In reality, all options are there, but just not visible - the resolver sorts out any discrepancy if multiple have been selected.
I wouldn't recommend this if you have a long list in your Category 1 list, as you're going to have some long formulas and lost of choice fields to sort out. However, I'm using 4 top-level choices and I could probably keep going until about 10 before it became a real problem.
Hope that helps,
David
Hello, I am trying to apply your suggestion in my case. Do I need to create two separate Lists for Level 1 and Level 2 category. My cascade drop down is
Level 1 = North America, South America, Asia.
Level 2 = Canada. USA, Nicaragua, Paraguay, India, Japan
If Level 1 = North America, Level 2 will only show options Canada and USA
if Level 1= Asia, Level 2 will only show options India and Japan.
How can I use your solution (=IF([Level 1]="North America, Level 2 ....)? Your help will be much appreciated.
Thanks.
Thomas.