Skip to main content
Version: Next

GET LIST ITEM

GET LIST ITEM ( {* ;} list ; itemPos | * ; itemRef ; itemText {; sublist ; expanded} )

ParameterTypeDescription
*OperatorIf specified, list is an object name (string) If omitted, list is a list reference number
listInteger, TextList reference number (if * omitted), or Name of list type object (if * passed)
itemPos | *Operator, LongintPosition of item in expanded/collapsed list(s) or * for the current item in the list
itemRefIntegerItem reference number
itemTextTextText of the list item
sublistIntegerSublist list reference number (if any)
expandedBooleanIf a sublist is attached: TRUE = sublist is currently expanded FALSE = sublist is currently collapsed

This command is not thread-safe, it cannot be used in preemptive code.

Description

The GET LIST ITEM command returns information about the item specified by itemPos of the list whose reference number or object name is passed in list.

If you pass the first optional * parameter, you indicate that the list parameter is an object name (string) corresponding to a representation of the list in the form. If you do not pass this parameter, you indicate that the list parameter is a hierarchical list reference (ListRef). If you only use a single representation of the list, you can use either syntax. Conversely, if you use several representations of the same list, the syntax based on the object name is required since each representation can have its own expanded/collapsed configuration and its own current item.

Note: If you use the @ character in the name of the list object and the form contains several lists that match with this name, the GET LIST ITEM command will only apply to the first object whose name corresponds.

The position must be expressed relatively, using the current expanded/collapsed state of the list and its sublist. You pass a position value between 1 and the value returned by Count list items. If you pass a value outside this range, GET LIST ITEM returns empty values (0, "", etc.).

After the call, you retrieve:

  • The item reference number of the item in itemRef.
  • The text of the item in itemText.

If you passed the optional parameters sublist and expanded:

  • subList returns the list reference number of the sublist attached to the item. If the item has no sublist, subList returns zero (0).
  • If the item has a sublist, expanded returns TRUE if the sublist is currently expanded, and FALSE if it is collapsed.

Example 1

hList is a list whose items have unique reference numbers. The following code programmatically toggles the expanded/collapsed state of the sublist, if any, attached to the current selected item:

 $vlItemPos:=Selected list items(hList)
 If($vlItemPos>0)
    GET LIST ITEM(hList;$vlItemPos;$vlItemRef;$vsItemText;$hSublist;$vbExpanded)
    If(Is a list($hSublist))
       SET LIST ITEM(hList;$vlItemRef;$vsItemText;$vlItemRef;$hSublist;Not($vbExpanded))
    End if
 End if

Example 2

Refer to the example of the APPEND TO LIST command.

See also

GET LIST ITEM PROPERTIES
List item parent
List item position
Selected list items
SET LIST ITEM
SET LIST ITEM PROPERTIES