This article describes the listbox component and its properties.
The listbox component allows the user to select one or multiple items from a list.
Select Listbox from the controls category of the component library. Move the mouse over the canvas and click to add a listbox component to your project:
The listbox properties consist of GENERAL, DATA INSERTION, LIST STYLING, INTERACTIVITY and a DYNAMIC VISIBILITY drawers. This guide will describe the general, data insertion, list styling and interactivity properties only; the dynamic visibility properties are generic to each component and a separate guide and tutorial on dynamic visibility can be found here.
The component properties are set and edited using different methods, some have multiple methods, some just one. See this Set property values article for more information on using the different methods.
- List Items – This property can only be set by binding to a range of cells in the spreadsheet. The content of those cells will be added as items in the listbox list.
- Ignore Blank Cells – Checked by default. If you bind the List Items property to a range of 10 cells, but only the first 8 contain data, then only the first 8 items will be listed. If this property is unchecked, 10 items will be listed, but the last two items (9 and 10) will be blank.
- Allow Multiple Selection – Unchecked by default, this means that initially the listbox only allows for a single item to be selected. Checking this property allows for multiple items to be selected.
- Include ALL Option – This option is only available if the Allow Multiple Selection property has been checked. Checking this property will add an extra item, ALL, to the top of the listbox list. When the user clicks this item, all items in the list become selected, clicking it again will deselect all items in the list.
Data insertion is triggered when a selection is made by the user. Data insertion is one of the core concepts within Squirrel, if you aren’t sure what it is, take a look at the Getting Started: Data Insertion tutorial for more information.
- Insert data by – Choose between the radio button options of Series Type or Filtering Rows:
- Series Type – If you select this option the listbox component allows you to insert more than one series of data. This means that when a user selects an item from the listbox list, one or more series of data can be inserted into the spreadsheet. Series 1 could add Position data to a destination in the spreadsheet, and series 2 could copy a whole row of data from the spreadsheet and paste it into a destination row, series 3 could insert a label, and so on, all triggered by one selection from the listbox list.
- Series – This property lists all of the Series for the listbox component. Add a new series by clicking on the plus button above the property field. Delete a series by selecting it and then clicking the trash icon.
- Name – Rename the series if you wish by editing the name within the property field or by binding the name property to a cell in the spreadsheet. In both cases the name of the series in the Series property field will update accordingly.
- Type – Choose a data insertion type from the drop down box. For more information about the types, take a look at Series Data Insertion in the Step-by-Step section of this article on Data Insertion.
- Source – If the Type is “row” or “column”, this property will become enabled. Bind to a cell or range of cells in the spreadsheet that will supply the source data. This range should contain as many rows or columns as there are items in the listbox. For each item selected in the listbox by the user, a row or column from the source will be inserted into the destination range.
- Destination – Bind to a cell or range of cells where the data will be inserted. When an item is selected in the listbox, its value, position, row or column will be inserted into the destination. If “Allow Multiple Selection” has been enabled, this range should have as many rows (or columns in the case where the type is “columns”) as there items in the listbox. Multiple items will be inserted in the order they appear in the listbox.
- Filtering Rows – Selecting this option of the Insert data by property will change the appearance of the DATA INSERTION drawer. This option only allows for one series of data insertion to happen on selection of an item from the listbox list.
- Source – Select a range of rows as the source property.
- Destination – Select a row for the selected source row to be pasted into. If item 1 is selected from the listbox list, the first row will be pasted into the destination, if item 2 then the second row will be pasted in and so on.
- Refresh On Data Change – Enabled by default, this will apply any changes in the source data to data that has been already inserted into cells bound to the Destination property. Uncheck if you don’t wish this to happen.
The appearance of the listbox component can be altered to suit a theme or particular style by using the STYLING properties:
- Show Checkbox – This property is unchecked by default. When checked a square box is added to the front of each item in the listbox list.
LIST ITEM TEXT
These properties apply to the text of the list items in the listbox component.
- Font – Choose a font style for the list items from the dropdown list
- Size – Change the font size of the list items
- B I U – Use these toggle buttons (bold, italic, underline) to change the format of the list items. When toggled to on, the button is blue:
- Text color – The list items will be shown in the colour that matches the value entered in the property field.
- Opacity – This determines the transparency of the list items.
- Text alignment – Choose to align the list items to the left, right, or centre. The current selection is indicated by the blue button:
- Padding – Increasing the value of this property increases the amount of space around each of the list items in the listbox.
DEFAULT BOX STYLE
These formatting properties apply to the style of the listbox component.
- Fill – When checked, the background of the listbox component will be filled with a colour that matches the value entered in the property field.
- Opacity – This determines the transparency of the background of the listbox component. This is only available when the Fill checkbox is checked.
- Border – This property is unchecked by default. Check to add a border, then set the border colour and opacity properties as desired.
- Weight – This property determines the line thickness of the border in pixels.
- Line style – Select a border line style. The options are solid and dashed:
- Corners – This property determines the corner radius of the border. Use the slider to amend this property, or type a numerical value into the property field.
These formatting properties can be used to apply a different style to the item that the mouse is positioned over in the listbox list.
- Hover Text Color – This property sets the colour that the text will change to when the mouse is positioned over that item.
- Opacity – This changes the opacity of the hover text.
- Fill – This property sets the background colour of the item that the mouse is positioned over.
- Opacity – This changes the opacity of the background.
These formatting properties apply to any selected item in the listbox component.
- Selected Text Color – This property sets the text colour of the currently selected item.
- Opacity – This changes the opacity of the selected item text.
- Fill – This property sets the background colour of the currently selected item.
- Opacity – This changes the opacity of the background.
A new listbox component will by default not have any items selected. It is possible to make one or more of the listed items selected by default.
- Selected Item – select Label or Position from the dropdown. Then bind the blank property field underneath to one of the following:
- Label –
- One item: If you just want one item to be selected by default, bind this property to a cell that contains the label of the list item (the easiest method is to bind to one of the cells included in the cells bound to the List Items property).
- Two or more items: If the labels are in adjacent cells in the spreadsheet, for example items 1 and 2, then you can just bind to those cells directly. If however, the list items that you want to select are, for example, items 3 and 5 of the list, then you will need to copy the labels into two cells that are adjacent to each other and then bind to those instead:
- Label –
- Position –
- One item: bind to a cell in the spreadsheet that contains a number equal to the item that you want to be default i.e. 1 will select the first item bound to the List Items property, 2 will select the second item and so on.
- Two or more items: you will need to bind to two or more cells, adjacent to each other that each contain a number relative to the item that is to be selected:
- Position –
DYNAMIC DISABLED STATE
It is possible to disable the listbox component if you want to limit the user’s access to the listbox list.
Bind the Status property to a cell in the spreadsheet, and either add a value to the Value property or bind it to a cell containing a value in the spreadsheet. When the status property and the value property are equal, the listbox will be disabled. Leaving these two properties empty will ensure that the listbox is always enabled.