This is an old revision of the document!
Multi Selection List Box
List box control with ability to select several items.
Properties
| Property | Default Value | Description |
|---|---|---|
| id | empty | id (name) of the script data object associated with control |
| align | stretched | Alignment of the control |
| required | false | required property of the control (if control is initial, “positive” buttons will be disabled) |
| minwidth | 12 | Minimum width, in characters of the list box control |
| extended_sel | false | Extended Selection mode (previous selection is reset, if Ctrl is not pressed) |
Items
List Box is filled by Items. You can fill it as statically in-line, as dynamically using associated by id script variable (VB Array of integers, use ax2js function to convert from JS array).
Item
| Property | Default Value | Description |
|---|---|---|
| text | empty | Item text |
| selected | false | Item selected state |
Example
- multi-list-box.hejs
#include "he_utils.js" // this is include file var varStorage = new Storage(); // dynamically mark as selected first and third items // (function js2ax as ax2js defined in he_utils.js) // value passed as part of variable storage varStorage.dynamic_list = js2ax(new Array(0,2)); // passing values using global script variable // in this case using of Storage object is not needed var global_dynamic_list = js2ax(new Array(1,3)); var dialog_template = '@<dialog title="Test dialog" resizable="true" contexthelp="true" id="testdlg"> \ <multi_listbox extended_sel="true" id="global_dynamic_list"> \ <item text="Item 1"/> \ <item text="Item 2"/> \ <item text="Item 3"/> \ <item text="Item 4"/> \ <item text="Item 5"/> \ <item text="Item 6"/> \ <item text="Item 7"/> \ </multi_listbox> \ <multi_listbox id="dynamic_list"> \ <item text="Item 1"/> \ <item text="Item 2"/> \ <item text="Item 3"/> \ <item text="Item 4"/> \ <item text="Item 5"/> \ <item text="Item 6"/> \ <item text="Item 7"/> \ </multi_listbox> \ <multi_listbox extended_sel="true" id="static_list" required="true"> \ <item text="Item 1" selected="true"/> \ <item text="Item 2"/> \ <item text="Item 3"/> \ <item text="Item 4" selected="true"/> \ <item text="Item 5"/> \ <item text="Item 6"/> \ <item text="Item 7" selected="true"/> \ </multi_listbox> \ <group uniform="true" align="right"> \ <button title="&OK" returnval="ok" default="true"/> \ <button title="&Cancel" returnval="cancel"/> \ </group> \ </dialog>@'; // show dialog using dialog template and variables storage for passing initial data var returnCode = dialog(dialog_template, varStorage); Output().Clear(); // after closing of the dialog variable storage (varStorage) contains all states // of the controls (which has variable id connected) Output().writeln("Dialog returns: " + returnCode); // evaluate here returnCode (returnval of selected button) and decide if varStorage shall be evaluated if ( returnCode == "ok" ) { // convert VB array to JS array and output it Output().writeln("Global dynamic list selection: " + ax2js(global_dynamic_list)); Output().writeln("Dynamic list selection: " + ax2js(varStorage.dynamic_list)); Output().writeln("Static list selection: " + ax2js(varStorage.static_list)); }