List Lookup control filtering in Nintex Forms is one of the more interesting features of this control because it gives you the ability to filter the values based on the value of another control and create cascading dropdowns. But this is also where it can go wrong at times.
Consider the following scenario… you have a SharePoint 2019 site running under the /sites managed path in a web application and there you have 3 lists:
- User Access Requests: your main list where your Nintex Form will be used as a list form.
- UARCountries: A simple list with a title column that is used as a lookup list in your form and contains countries.
- UARRegions: A simple list with a title column and a country lookup column towards the UARCountries list.
On your main list, you have a Nintex form that has 2 List Lookup controls.
The Country lookup list is configured as a normal list lookup. It pulls the countries from the UARCountries list.
The Region lookup is configured to pull the regions from the UARRegions list.
But we also configured a filter on this lookup because we only want to see the regions of the selected country in the Countries dropdown. For that, we applied a filter based on a control value.
When you publish this form or just preview it, you would expect this to work. And in a lot of cases it is going to work. But not always.
I was in a situation where the Region dropdown was completely disabled when the form opened.
And when I selected a country, the control was still in a disabled state.
I started experimenting with this and started playing around with configuration changes for the control and noticed some things.
In the ULS, the following error messages were logged when the form was opened.
When I removed the filtering from the regions and just displayed all of them, the errors went away and all of the regions were displayed. So, the list was definately there…
Because this didn’t make any sense, I decided to take this to Nintex Support. They suggested upgrading to the latest version of Nintex Forms (v5.1.2). That didn’t help.
Then I found a post on the Nintex Community where the same errors were discussed in the context of list lookup control filtering.
Somebody posted a possible cause… the absence of a root site collection in the web application.
And sure enough… my web application didn’t have a root site collection. I only had sites running under /sites/…
I created a site in the root of the web application. Reopened my form and there you go… it worked!!
The Region control was no longer disabled and the values were filtered as expected.