Reverse Cascading Select

OK. I see what you are getting at now, and why you are thinking ‘reverse cascading selecting’… :slight_smile: But, again, all there is is a choice_filter that you can use to determine whether to show each choice or not. In your case, presumably you want to show the pest_company name in Q2 if one of their products was selected in Q1. There are a few different ways to do this, or varying complexity (ie messiness) but probably the simplest is by just re-labelling the name associated with each product so that the value contains a reference to the company. Specifically:

brand_list	A1	ASATAF
brand_list	A2	APPLAUD
brand_list	A3	CONTAF
brand_list	A4	CONTAF PLUS
brand_list	A5	BLITOX
brand_list	B1	TAFGOR
brand_list	B2	TATA MIDA
brand_list	B3	MANIK
brand_list	C1	ERGON
brand_list	C2	TATA PANIDA
brand_list	C3	TAKUMI
brand_list	C4	TATA MONO

and similarly

pest_companies	A	Rallis
pest_companies	B	Bayer
pest_companies	C	Syngenta

Then your choice_filter can just look for the presence of the company tag (ie name=A, B or C) in the list of selected brands to determine whether to show the associated company, using

choice_filter = contains(${brand},name)

where ${brand} is the list of selected brands, ie your Q1

Here’s a form with all this. Load it into XLSForm Online and have a play around:

brands.xls (20.5 KB)

(I probably have the wrong brands associated with the 3 companies, but you get the idea)

3 Likes