The List Box form element allows the user to select one or more items from a list.
To use a list box, the user selects one or more items in the list (). To select items that are next to each other, the user holds the Shift key down and selects the first and last items. To select items that are not next to each other, the user holds the Ctrl key down while selecting items.
Example of the List Box form element, shown in a Geocortex viewer
See also...
The Properties table describes the properties of the
Property names in Workflow Designer's Properties panel are written using the capitalization and spacing of a title. Property names in expressions are valid JavaScript identifiers and start with a lower case letter. Expressions are case sensitive. When you access a form element property in an expression, you must use the correct capitalization.
In the table below:
If a property can be accessed in both the Properties panel and expressions, then the table gives both versions of the name.
If a property's name in the table starts with a lower case letter, then you can only access the property in expressions.
If a property's name starts with a capital letter and the table does not give a name to use in expressions, then you can only access the property in the Properties panel.
Properties of the List Box Form Element
Type: String Indicates whether the To configure the Depends On property, click the arrow For an example of a form in which one element depends on another element, see Use the Item Picker Form Element for Visualization. |
Description |
Type: String A description of the element. The description appears below the element's title. You can use the Description property to describe what the element represents or to provide instructions to the user about how to use the element. You can format the description using Markdown. |
Element ID |
Type: String The element's ID, which is used in other form elements and activities to access the element's properties You cannot get or set the value of the Element ID property in an expression—you can only use the value that you configured for it. To use the Element ID property in an expression: ${Display Form ID}.state.{Element ID}.{property name} For example: $form1.state.listBox1.visible |
Enabled |
Type: Boolean Name in Properties Panel: Enabled Name to Use in Expressions: enabled Indicates whether the By default, To access the ${Display Form ID}.state.{Element ID}.enabled For example: $form1.state. |
error |
Type: String | MarkdownRef Indicates whether an error occurred in the element. We recommend using the Set Form Element Error and Clear Form Element Error activities to work with errors in form elements. |
The options offered by the drop-down list. For information on configuring the options, see Configure the Options in a List Box. Type: { [key: string]: Item; } Name in Properties Panel: Name to Use in Expressions: items
The ${Display Form ID}.state.{Element ID}.items For example: $form1.state. For more information, see Form Element Items. |
Type: Boolean Name in Properties Panel: Required Name to Use in Expressions: require Indicates whether the user must select an option from the list box. When the list box is required, the user cannot submit the form until an option is selected. By default, The Required checkbox is intended as a quick way to do simple validation without having to add a To access the ${Display Form ID}.state.{Element ID}.require For example: $form1.state. |
Rows |
Type: Number The size of the By default, To change the number of rows, you can either type the number into the Number box or click the arrows |
styleName |
Type: String
Indicates the name of the style that will be applied to the element. To access the ${Display Form ID}.state.{Element ID}.styleName For example: $form1.state. |
Title |
Type: String The element's title, which appears at the top of the element. You may want to change the title to describe what the element represents in your workflow. You can format the title using Markdown. |
type |
Type: String The variety of form element. Use the To access the ${Display Form ID}.state.{Element ID}.type For example: $form1.state.listBox1.type |
value |
Type: ItemsRef An object of type ItemsRef. If at least one item is selected, the object has an ${Display Form ID}.state.{Element ID}.value.items For example: $form1.state.itemPicker1.value.items If no checkboxes |
Visible |
Type: Boolean Name in Properties Panel: Visible Name to Use in Expressions: visible Indicates whether the element is visible to the user. By default, To access the ${Display Form ID}.state.{Element ID}.visible For example: $form1.state.listBox1.visible |
The following table describes the events associated with the
Events for the List Box Form Element
load |
The You can use the |
change |
The You can use the By default, if another form element is configured to depend on the If you want the configured dependency to be respected, add a Propagate Form Event activity to the The |
validate |
The You can use the If you use a Set Form Element Error activity, make sure you also use a Clear Form Element Error activity to clear the error. Otherwise the form may get stuck in an invalid state. By default, the Required property does not work when the For an example, see Example - Subworkflow for a Validate Event. |
As part of the configuration of
Manually: If you know exactly how many
Using a Subworkflow: If you want to base the
If you know exactly how many
To manually configure
In the
Configure
Click the arrow to show the
Label: In the Label box, type the text that you want to
Value: If you want to associate a value with the
You can use any text for the value, for example, New Zealand
and 9630
are valid values. The value will be availablevalue
property.
If you enter digits for the value (for example, 9630
), remember that the value is stored as text ("9630"), not as a number (9630).
Selected: If you want the option to be selected initially, select the Selected checkbox.
Repeat the previous step
You can reorder the
Remove any unconfigured
To remove to show the
If you want to base the
Workflow Designer provides templates that you use as the starting point for the subworkflow:
ArcGIS Query: The ArcGIS Query template provides a subworkflow that queries ArcGIS Server for items to use
Blank: The Blank template provides a blank subworkflow to use as the starting point for the subworkflow.
The ArcGIS Query template provides a subworkflow that queries ArcGIS Server for
Subworkflow for the ArcGIS Query template
The subworkflow has the following activities:
Query Layer: This activity queries an ArcGIS Server map service for features on a particular layer. The query also gets the specified feature attributes that you want to use later in the workflow.
Get Form Element Items From Features: This activity converts the features returned by the query to items that can be used by the
Set Form Element Items: This activity associates the converted features with the
The ArcGIS Query template is based on a query for US state names.
To use the ArcGIS Query template:
This procedure presents one possible adaptation of the template which you can build on in many ways. To explore additional capabilities of an activity, refer to the activity's documentation.
In the
The subworkflow opens.
Query Layer: Adapt the Query Layer activity to work in your workflow:
Update the Description property to describe what you are querying for.
Set the Url input to the URL of the layer that you want to query.
Click the Expand icon to open a larger input area.
In the Where box, enter a SQL WHERE clause to filter the features that the query returns.
For example, if you only want to show sparsely populated states, you could use a Where input similar to this:
POP2007 < 1000000
Setting the Where input to 1=1
gets all the features.
To do a literal text search on the display field, configure the Text input instead of the Where input.
To perform a spatial query, configure the Geometry input. You can filter on both attribute values and location by configuring the Geometry input and the Where or Text input.
Change the Output Fields input to specify the fields that you want the query to return. Use commas to separate the field names.
If you want to get all the fields, enter an asterisk (*) in the Output Fields input.
If you plan to use the feature geometries later in the workflow, set Return Geometry to true
and set Output Spatial Reference to the spatial reference of the map.
This ensures that the geometries can be drawn in their correct locations on the map.
If you leave Output Spatial Reference blank, the spatial reference of the map service is used.
Configure any other properties and inputs that you want to customize. See Query Layer Activity for information.
Get Form Element Items From Features: Adapt the Get Form Element Items From Features activity to work in your workflow:
You should not need to change the Features input. The Features input specifies the features returned by the query.
Configure the Label input:
If you want the options to consist of a single field, set the Label input to the name of the field.
For example, to use the value of the STATE_NAME field as the options, set Label to STATE_NAME.
or
If you want the options to contain multiple fields, surround each field name with curly brackets in the Label input.
For example, suppose you set Label to the following:
{STATE_NAME} ({STATE_ABBR})
The options will have the state's name, followed by the state's abbreviation. For example:
If a field placeholder such as {STATE_NAME} appears in the items at run time instead of being replaced by the field's value, the workflow could not find the field. This can be caused by a spelling or capitalization error in the placeholder or by forgetting to include the field as an output field in the Query Layer activity.
You will be able to access the value of Label using an expression similar to this:
=$form1.state.
If you want the value of one of the query's output fields to be availablevalue
property, set the Value Field Name input to the name of the field.
For example, if you specify AREA in Value Field Name, then you will be able to access the area using an expression similar to this:
=$form1.state.
If you leave the Value Field Name blank, value
will be an object that contains the feature.
Configure any other properties that you want to customize. See Get Form Element Items from Features Activity for information.
Set Form Element Items: You should not need to change the inputs. The Items input specifies the items created by the Get Form Element Items From Features activity. Leaving the Element input blank assigns the items to the form element that the subworkflow belongs to.
If you need to re-open the subworkflow, click Edit in the Properties panel or double-click the
The Blank template provides a subworkflow with an Event block and nothing else in it. You will have to create the subworkflow from scratch.
Subworkflow for the Blank template
By its very nature, the Blank template can be used to create a wide variety of subworkflows that get
Collection: You have a collection (array) that contains the items you want to use for the
Feature Set: You have a feature set that contains the items you want to use for the
If the feature set doesn't exist in the workflow yet, you may want to use the ArcGIS Query template.
You can create the subworkflow using the following activities:
Get Form Element Items From Collection: This activity converts the collection to items that can be used by the
or
Get Form Element Items From Features: This activity converts the features to items that can be used by the
Form elements cannot use
Set Form Element Items: This activity associates the converted items with the
Subworkflow that
To use the Blank template:
This procedure assumes that the collection or feature set already exists in the workflow.
This procedure presents one possible adaptation of the template which you can build on in many ways. To explore additional capabilities of an activity, refer to the activity's documentation.
In the
The blank subworkflow opens.
Collection:
Add a Get Form Element Items From Collection activity.
Set the Collection input to the collection whose items you want to use as
For example, if you created the collection using a Create Value activity, enter an expression similar to this:
=$value1.result
If the collection contains objects, set the Label Field Name input to the name of the field used for the
You will be able to access the value of Label Field Name by entering an expression similar to this:
=$form1.state.
If the collection contains objects, set the Value Field Name input to the field that you want to be available invalue
property.
For example, if you specify the AREA field, then you will be able to access the area by entering an expression similar to this:
=$form1.state.
If you leave Value Field Name blank, the workflow uses the field that you specified in Label Field Name.
Configure any other properties that you want to customize. See Get Form Element Items From Collection Activity for information.
or
Feature Set:
Add a Get Form Element Items From Features activity.
Set the Features input to the feature set that will provide the
For example, if you created the features using a Create Value activity, by entering an expression similar to this:
=$value1.result
Set the Label input to the name of the field used for the
You will be able to access the value of Label by entering an expression similar to this:
=$form1.state.
Set the Value Field Name input to the field that you want to be available invalue
property.
For example, if you specify the AREA field, then you will be able to access the area by entering an expression similar to this:
=$form1.state.
If you leave Value Field Name blank, value
will be an object that contains the feature.
Configure any other properties that you want to customize. See Get Form Element Items from Features Activity for information.
Set Form Element Items:
Add a Set Form Element Items activity to the bottom of the flowchart and connect the previous activity to it.
Leave the Element input blank.
This assigns the items to the form element that the subworkflow belongs to.
Set the Items input to the items created by the Get Form Element Items From Collection or Get Form Element Items From Features activity. For example:
=$formElementItems1.items
Configure any other properties and inputs that you want to customize. See Set Form Element Items Activity for information.
If you need to re-open the subworkflow, click Edit in the Properties panel or double-click the