Joget Form Builder allows you to dynamically change the options/selections of a select box/radio button/radio, In this use case, multiple form field values from another form will populate a spreadsheet.

Tips

Dynamic Cascading Drop-Down List is also supported in List Filters.

How it works

Each option in the spreadsheet is a list of data from another form with an option binder configuration. Below will show the steps of configuring each form and spreadsheet.

Configuring spreadsheet cascading drop-down list

Create multiple simple forms with a 'Name' text field with no Advance Options configuration to create an option data list for the spreadsheet.

In this example, we will create 'Climate' and 'Continent' forms with the same configuration.

Figure 1: Configuring Form Data Options


Create a 'Country' Form with the same configuration as Figure 1 but with an addition of the 'Climate' and 'Continent' select boxes which will be using the Form Data Options Binder on the 'Continent' select box field to load data from the 'Continent' Form.

Figure 2: Configure Form Data Options Binder

As shown in Figure 2, use the same configuration on the 'Climate' select box. Using Form Data Options Binder, the 'Continent' field will view the values from the Continent List that contains only one column "Name", and the Climate field will view the values from the Climate List that contains only one column "Name".


Create 'Address' Form with all the previous forms as a select box with 'Continent', 'Climate', and 'Country' with the same configuration in Figure 2. But with additional configuration for the 'Country' select box.

Figure 3: Configure Country as Data Option Form

The Country field will view the values from the Country List under the Name column based on the grouping by the other 2 columns "Continent ", and "Climate" with the help of the 'use AJAX for Cascade Options?' checkbox.


Figure 4: Shows the multiple dependency fields of Country Field 

The Field ID to Control Available Options Based on the Grouping Field (figure 4)  must be in the same order as the order in the Grouping Column (figure 3).


Make sure to click on the Field IDs rather than type them. You should only be typing the ';' symbol.


Create a form with a Spreadsheet field and populate it with form option data from the 'Address' Form. It is important for 'Country', 'Continent', and 'Climate' to be formatted as 'address' which contains the dropdown format containing the equivalent data.

NameDescription
Columns

The spreadsheet column(s) is defined here.

Sub-elementDescription
Field IDField ID of the column.
Label

Column header title/label.

Format Type

Columns 'Continent', 'Climate', and 'Country' will be using: 

Dropdown - appears as a dropdown menu to select options

Column 'Name':

Text - format the value as text or numbers.

Format

Key in the Form Def ID that contains the equivalent dropdown element, in this case - 'address'

For columns 'Continent', 'Climate', and 'Country'.

Figure 5: Spreadsheet configuration

Spreadsheet in App Run Time

The figure below is the example data of which Country will appear based on the Climate and Continent combination. 

Figure 6: Example Form Data option


In the app run time, we can see the 'Country' column has options when the combination is Asia and Tropical and none for Asian and Seasonal. 

Figure 7: Spreadsheet Form Data Options testing

Demo App

APP_kb_dx_spreadsheet_Cascading_Dropdown_List.jwa





  • No labels