DropDown

Functional reference for DropDownObject, including its runtime role and the supported settings available in the design environment.

Updated 8 min read
On this page (9 sections)
  1. Functional explanation
  2. Object name
  3. Variable / Expression
  4. Individual
  5. Documents in a folder
  6. Text
  7. Position / Size
  8. Access Control
  9. Visibility

Functional explanation

DropDownObject presents a predefined list of items in a compact control. It is suited for mode selection, recipe selection, and other discrete choices.

The object is useful when the operator must choose one value from a known list without taking much page space. The selected item is mapped to the configured value list and can be written back to a bound variable.

Use it when the operator should choose one option from a controlled set instead of typing free text.

Object name

Set the object name shown in the dropdown decorator context.

SettingDescriptionExampleUnits
Object NameName used to identify the DropDown object.RecipeSelectorText

Variable / Expression

Configure the variable or expression bound to the selected value.

SettingDescriptionExampleUnits
Variable / ExpressionVariable or expression bound to the selected value.PLC1.ModeExpression

Individual

Configure the item lists and open/closed appearance for the DropDown object.

11 rows
SettingDescriptionExampleUnits
ItemsSemicolon-delimited list of visible item texts.Auto;Manual;OffText list
ValuesSemicolon-delimited list of values corresponding to the items.0;1;2Value list
List HeightDropdown list height.180px
Closed Box ColorText color for the closed dropdown box.#212529Color
Closed Box Background ColorBackground color for the closed dropdown box. A gradient can be used here as well as a single color; see the Gradients section of the Color Library article.#FFFFFFColor
Closed Box Border ColorBorder color for the closed dropdown box.#CED4DAColor
Open List ColorText color for the open dropdown list.#212529Color
Open List Background ColorBackground color for the open dropdown list. A gradient can be used here as well as a single color; see the Gradients section of the Color Library article.#FFFFFFColor
Open List Border ColorBorder color for the open dropdown list.#CED4DAColor
Scrollbar ColorScrollbar thumb color for the dropdown list.#adb5bdColor
Scrollbar Track ColorScrollbar track color for the dropdown list.#f8f9faColor

Documents in a folder

Instead of a fixed item list, the object can show the documents that are present in a folder. Set Item Source to Documents in a folder and fill in Folder; the Items and Values settings are then no longer used. The object reads the folder each time the operator opens the list, shows the label chosen under Item Label, and writes the full path of the selected document to the bound variable.

Point the Document Path of a Document Viewer at that same variable and the operator selects a document and reads it on the same page. A document that was created while the page was open appears the next time the list is opened.

The folder must be listed under Document viewer access in Engineering Settings for one of the operator's user groups, the same rule that decides what the Document Viewer may show. Only the file types the Document Viewer serves are listed, and sub-folders are not included.

SettingDescriptionExampleUnits
FolderFolder whose documents are listed. Accepts a full path or the name of a variable holding one.D:/ReportsText
PatternFilters by file name and declares where the date sits. * and ? are wildcards; the tokens %Y, %y, %m, %d, %H, %M and %S state the date and time positions. Leave empty to list every document, in which case the documents carry no date. The field also accepts the name of a variable holding the pattern; the Pattern button opens the variable list.Daily_%Y-%m-%d.pdfText or variable
FromOldest document date to list. Accepts a date, a date and time, or the name of a variable holding one, which is normally a client variable written by a DateTimePicker. Inclusive, and optional.client.FromDateText
ToNewest document date to list, with the same rules as From. A value with no time covers the whole day.client.ToDateText
Item LabelWhat the operator reads for each document: File Name, Date, or Date and Time. The value behind the label is always the full path.DateSelection
StatusClient variable receiving the state of the list: ok, empty, unavailable, or signin. Use it to show a message of your own when no document is offered.client.DocumentStatusText

Pattern filters the list by file name and is also the only place a document's date comes from. The wildcards * and ? match any run of characters and a single character, so Daily_* lists by name alone. Adding date tokens states where the date sits in the name and how it is written. The tokens are the same ones the report renderer formats its output name with, so the Pattern is the format string that produced the file:

TokenMeaningMatchesExample
%YYear, four digits4 digits2026
%yYear, two digits. Below 50 is read as 20xx, 50 and above as 19xx2 digits26
%mMonth2 digits, 01 to 1208
%dDay of the month2 digits, 01 to 3107
%HHour on the 24-hour clock2 digits, 00 to 2310
%MMinute2 digits, 00 to 5906
%SSecond2 digits, 00 to 5901
*Any run of characters, including noneanyMonday
?A single characterany oneA

Every token is introduced by a percent sign, so all other text in the Pattern is literal exactly as typed. A folder of reports named WTP Realtime report_2026-07-28.pdf is matched by WTP Realtime report_%Y-%m-%d.pdf, with nothing special needed for the letters in the report name. Write %% where the file name holds a literal percent sign.

Case matters, and %m against %M is the easy mistake: %m is the month and %M is the minute, so Report_%d-%M-%Y.pdf would mean day, minute, year and match nothing. All tokens are fixed width and zero padded, so %m matches 08 and never 8; a folder of unpadded names is matched with ? wildcards instead and carries no date.

Use a wildcard for the parts of a name that are not needed. Report_%d-%m-%Y_%H%M%S_*.pdf reads 7 August 2026 at 10:06:01 from Report_07-08-2026_100601_Monday.pdf and skips the weekday, which is already implied by the date.

File namePatternDate read
Daily_2026-07-28.pdfDaily_%Y-%m-%d.pdf28 July 2026
Report_07-08-2026.pdfReport_%d-%m-%Y.pdf7 August 2026
Report_07-08-2026.pdfReport_%m-%d-%Y.pdf8 July 2026
Report_07-08-2026_100601_Monday.pdfReport_%d-%m-%Y_%H%M%S_*.pdf7 August 2026, 10:06:01
WTP Realtime report_2026-07-28.pdfWTP Realtime report_%Y-%m-%d.pdf28 July 2026
Monthly_2026-07.pdfMonthly_%Y-%m.pdfNone, no day is declared
Batch_2026072612.pdfBatch_*None, no tokens are declared

A date is never taken from a file name unless the Pattern declares it. Where no complete date is declared, meaning %Y or %y together with %m and %d, the document has no date: From and To have nothing to compare against and are ignored, Item Label set to Date shows the file name, and the list is ordered by the time the files were written. This is deliberate. A date read out of a name by guesswork silently mislabels and misfilters, and a serial number such as Batch_2026072612.pdf is not a date.

Item Label chooses what the operator reads. The value written to the bound variable is always the full path, whichever label is shown. For a folder holding WTP Realtime report_2026-07-28.pdf, matched by WTP Realtime report_%Y-%m-%d.pdf and rendered on 29 July at 07:54 local time:

Item LabelShown to the operatorTaken from
File NameWTP Realtime report_2026-07-28.pdfThe file name as it is
Date2026-07-28The date declared by the Pattern
Date and Time2026-07-29 07:54The moment the file was written, in local time
Date, with no tokens in the PatternWTP Realtime report_2026-07-28.pdfThe file name, because no date was declared

Date and Date and Time answer different questions. Date is the day the report covers, read from the file name. Date and Time is the moment the file was written, shown in the local time of the client. A batch of reports for different days that was rendered in one run carries the same write time for every file, so Date is the option that keeps the entries apart and Date and Time is the option that shows when the run happened.

From and To narrow the list by the declared date and are inclusive at both ends. They accept a date, a date and time, or the name of a variable holding one, which is normally a client variable written by a DateTimePicker. Both are optional and work independently:

FromToDocuments listed
EmptyEmptyEvery document in the folder, with no date limit
SetEmptyFrom that date onward
EmptySetUp to and including that date, to the end of the day
SetSetThe range between them, including both ends
The same variable in bothOne single day, selected by one DateTimePicker

The comparison uses the precision the Pattern declared, so a Pattern carrying %H%M%S supports a window such as 08:00 to 11:00 on one day. A value that cannot be read as a date is treated the same as an empty one, which keeps a page showing the whole folder while its date variable has not arrived yet instead of an empty list.

Where the Pattern declares a date without a time, the documents sit at the start of their day. A bound that carries a time therefore excludes them, so set the DateTimePickers to Date Only when the file names hold no time.

Text

Configure the text appearance of the closed dropdown box.

SettingDescriptionExampleUnits
Font FamilyFont family used for the text of the closed dropdown box.ArialFont family name
Font AlignHorizontal alignment of the text of the closed dropdown box: Left, Center or Right.CenterSelection
Font WeightFont weight used for the text of the closed dropdown box.400CSS font weight
Font SizeFont size used for the text of the closed dropdown box. A number without a unit is applied in px.14px
PaddingSpace between the border and the text of the closed dropdown box. Enter one to four values in the order top, right, bottom, left, for example 4 8 for 4 px at the top and bottom and 8 px at the left and right. A number without a unit is applied in px.4 8px

Position / Size

Configure the position and size of the DropDown object.

SettingDescriptionExampleUnits
TopTop position of the object.100px
LeftLeft position of the object.220px
WidthWidth of the object.180px
HeightHeight of the object.32px
Z-indexLayer order of the object. Higher values appear in front of lower values.10Number

Access Control

Configure access control for the DropDown object.

SettingDescriptionExampleUnits
Access Control EnableEnables access control evaluation for the object.trueBoolean
Access ControlExpression controlling who can use or see the object.SYSTEM.UserGroups == "Operators"Expression
Access Control FilterCSS filter applied when access control is used to alter the object appearance.blur(0px) contrast(30%)CSS filter

Visibility

Configure the runtime visibility and blinking behavior for the DropDown object.

SettingDescriptionExampleUnits
VisibilityExpression controlling whether the object is visible.PLC1.DropDownVisibleExpression
BlinkExpression or boolean controlling dropdown blinking.PLC1.AlarmActiveBoolean or expression
Blink SpeedBlink speed used during runtime.500ms
Blink OffsetBlink offset used to stagger blinking between objects.falseBoolean
Something missing or wrong in this article? Contact us