ListX and CellListX

XTREE supports list substitution style (aka INFLD ||L) combo lists via the new ListX= and CellListX= clauses.

ListX = <code>, <descr>, <code>, <descr>,...

CellListX = <idx>, <code>, <descr>, <code>, <descr>,...

e.g.

ListX=1,UPS Ground,2,UPS BLUE,3,Fed Ex,4,Mail"

CellListX=c,AL,Alabama,CA,California,LA,Lower Alabama~~"

ListX and CellListX are just like List and CellList, respectively, except that the list of items consists of <code>,<descr> pairs, where the <code> is what you store in your application (and in the data and answer arrays) while the <descr> is what displays in XTREE. The concept and implementation is essentially the same as the INFLD ||L "list substitution" field type.

See sample programs XTRA5 and XTRA5C in the EXLIB for examples of using these clauses. Also see "Dropdown lists" Mouse and Keyboard.

Also: the following note—see List for others—is deemed sufficiently important to repeat here:

Warning: if the first character is neither alphabetic nor numeric, and it matches the character in the list, then XTREE assumes that it is the delimiter character. Otherwise, the delimiter is assumed to be a comma. This can lead to unexpected problems in lists of items that have both leading and trailing spaces—or any other non-numeric, non-alpha character. To avoid that possibility, make the delimiter explicit.