version 2004 (Modified)
SET LIST ITEM (list; itemRef | *; newItemText; newItemRef{; sublist; expanded})
Parameter | Type | Description | |
list | ListRef | List reference number | |
itemRef | * | Longint | * | Item reference number, | |
or 0 for last item appended to the list, | |||
or * for the current item in the list | |||
newItemText | String | New item text | |
newItemRef | Longint | New item reference number | |
sublist | ListRef | New sublist attached to item, or | |
0 for no sublist (detaching current one, if any), or | |||
-1 for no change | |||
expanded | Boolean | Indicates if the optional sublist will be expanded or | |
collapsed |
Description
The SET LIST ITEM command modifies the item designated by the itemRef parameter within the list whose reference number is passed in list.
You can pass a reference number in itemRef. If there is no item with the item reference number you passed, the command does nothing. You can optionally pass 0 in itemRef to designate the last item added to the list using APPEND TO LIST.
Lastly, you can pass * in itemRef: in this case, the command will apply to the current item of the list. If several items are selected manually, the current item is the one that was selected last. If no item is selected, the command does nothing.
If you work with item reference numbers, build a list in which the items have unique reference numbers, otherwise you will not be able to distinguish the items. For more information, see the description of the command APPEND TO LIST.
You pass the new text for the item in newItemText. To change the item reference number, pass the new value in newItemRef; otherwise, pass the same value as itemRef.
To attach a list to the item, pass the list reference number in subList. In this case, you also specify if the newly sublist is expanded by passing TRUE in expanded; otherwise, pass FALSE.
To detach a sublist already attached to the item, pass 0 (zero) in sublist. In this case, it is a good idea to have previously obtained the reference number of that list using GET LIST ITEM, so you can later delete the sublist using CLEAR LIST, if you no longer need it.
If you do not want to change the sublist property of the item, pass -1 in sublist.
Note: Even if they are optional, both the sublist and expanded parameters must be passed jointly.
Examples
1. hList is a list whose items have unique reference numbers. The following object method for a button adds a child item to the current selected list item.
$vlItemPos:=Selected list items(hList) If ($vlItemPos>0) GET LIST ITEM(hList;$vlItemPos;$vlItemRef;$vsItemText;$hSublist;$vbExpanded) $vbNewSubList:=Not(Is a list($hSublist)) If ($vbNewSubList) $hSublist:=New list End if vlUniqueRef:=vlUniqueRef+1 APPEND TO LIST($hSubList;"New Item";vlUniqueRef) If ($vbNewSubList) SET LIST ITEM(hList;$vlItemRef;$vsItemText;$vlItemRef;$hSublist;True) End if SELECT LIST ITEMS BY REFERENCE(hList;vlUniqueRef) REDRAW LIST(hList) End if
2. See example for the command GET LIST ITEM.
3. See example for the command APPEND TO LIST.
See Also
GET LIST ITEM, GET LIST ITEM PROPERTIES, SET LIST ITEM PROPERTIES.