OK. I see what you are getting at now, and why you are thinking ‘reverse cascading selecting’… 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)