I'm working with an InfoPath 2010 form. I have multiple data connections to provide options in various dropdowns. In the last dropdown of a sequence of cascading dropdowns, I want to set the dropdown's default value to the first non-null, non-blank value. The last three of five or six cascading dropdowns are inside the rows of a repeating table.
To have each row's cascading dropdowns only show the options appropriate to the selected values of the preceding dropdowns in the same row, I've set the dropdowns queries to only filter based upon the preceding dropdowns that are outside of the repeating table. Then I use filters to refine the dropdowns' options to match the selections made in the preceding dropdowns for its own row. This works for keeping each rows dropdowns' options matched.
My problem is that I want to set the default value of the last dropdown to the first value in its list of options. Previously, I used queryFields on on the data connections to restrict the list of options. When doing so, the first value on the last dropdown's data connection was always available and could be set as the default value by using a rule. When I switched the dropdowns in the repeating table to use filters instead of queryFields, the rule stopped working.
How can I query a secondary datasource so the queryFields are compared using an operation other than "equals"? I'd like to query for all non-null values or perhaps to query for one of the queryFields being not equal to null or an empty string.