Starting from version 1.28.1 you can create dependent drop down list.

We can define a dependent drop down list where the range of available values depends on the value of another list in that record.

A dependent drop down list can be created if logical model relations allow it (details below) and if they are enabled in data entry form wizard Behaviour tab 


Example:


Let's consider the case of a fashion company with Brand, Categories and Product dimensional attributes:




As you can easily see from these datasets, the three tables are in hierarchical order and a one-to many reationship links the Brands to the Category, and a second relationship links Category to Products:



If you want to record products sales; the form you pull up could be as shown:

 




Once you choose the sales product, we can automatically go back to brand and category:



Now, in this example the products are only 26, but imagine that in real life it's 26.000! It could be useful to bring up an "in line" filter through a further drop-down on Categories:




In this case, once you select the Category, only the products in that category will appear in the following drop-down list. This will reduce the available elements considerably. The ability to establish a dependance relationship among drop-down lists is taken directly from the logical model: in fact, in order to create this form you need only add a redundant relationship among sales and category and so organizing relationships below like so:

Now you may ask yourself: what if the user, having selected a product, changes the category on the same record, making the record itself inconsistent? The answer is that FormWork does not allow it to write and displays a validation error:




In the above image you can see that the selected product does not appear on the list of the Shirts category, and so the record is inconsistent.


The mechanism can repeat itself on n levels with the result that the entries in the drop-down are reduced considerably:

 

 

 

The dependent drop-down lists can be created by tables which do not have a direct relationship, but are still connected, with one or more degrees of removal.



In a table you can have n dependent drop-down lists.