SAS Component Language Dictionary |
Category: | Selection List |
Syntax | |
Details | |
Examples | |
Example 1: Using LISTC with a LIST Entry | |
Example 2: Using LISTC with the Current Result List | |
Example 3: Using LISTN with the Current Result List | |
See Also |
Syntax |
selections=LISTC(entry<,message<,autoclose<,num-sel>>>); |
selections=LISTN(entry<,message<,autoclose<,num-sel>>>); |
contains one or more character values that have been selected by the user.
For LISTC, if a selection is not made, selections will be blank. Multiple selections are separated by blanks. By default, selections is 200 bytes long. To accommodate values longer than 200 bytes, explicitly declare selections with a longer length.
For LISTN, selections is the first value that the user selected. The value is numeric.
is a LIST entry (for LISTN) or a HELP, LIST, or MENU entry (for LISTC). The entry must be specified as entry.type for an entry in the current catalog or as libref.catalog.entry.type for an entry in a different catalog.
is text for a message to be displayed above the selection list. The default message tells users to make up to the number of selections specified by num-sel, or 1 if num-sel is not provided. The default is 1.
specifies whether the selection list window closes automatically after a user makes a selection when only one choice is allowed:
'Y' | |
'N' |
This option is ignored when num-sel is not 1. However, use '' as a placeholder if you are also specifying a value for num-sel.
specifies the maximum number of items a user can select from the list. To display the list for information purposes only (no selections allowed), specify 0. To specify an unlimited number of selections, use a value such as 9999 that is larger than the number of available selections. The default is one selection.
Details |
LISTC automatically displays a selection list containing character values that are stored in a LIST, HELP, or MENU entry. A LIST entry that is used with LISTC must be of character type. Typically, a LIST entry is used if the selections in the LIST entry are self-explanatory. A HELP or MENU entry is used if a definition is needed next to the selection.
LISTN automatically displays a selection list containing numeric values stored in a LIST entry, which must be of numeric type. The numeric values are displayed using the format that was specified for the LIST entry. If no format was specified, the values are displayed using the BEST. format.
For a selection list that is produced with a LIST entry, you can provide a default or initial selected value by specifying a value for selections before calling LISTC. If selections contains valid values when LISTC is invoked, those values are automatically designated as selected when the selection list is displayed.
When multiple selections are allowed in LISTN, selections contains the first value selected from the list. However, the values for all selections can be returned in the current result list, if one is available. The current result list is a special SCL list that is automatically filled with the values selected from a selection list. To use a current result list, use the MAKELIST function to create the list, and use the CURLIST function to designate it as the current result list. The current result list must exist before you call LISTC. You can use GETITEMC to retrieve values from the list.
Examples |
Open the entry MYLIST.LIST in the current catalog, and then display it as a selection list. Users can make up to four selections. The selected values are retrieved from the current environment list.
listid=makelist(); rc=curlist(listid); selections=listc('mylist.list','','n',4); n=listlen(listid); do i=1 to n; item=getitemc(listid,i); put item=; end;
Create LIST_C and make it the current list. Use LISTC to display a selection list containing the values ABC, DEF, GHI, and JLK, which are stored in MYCHAR.LIST, and allow a user to make up to 4 selections.
list_c=makelist(); cur_list=curlist(list_c); /* Display the list and put the user */ /* selection in SELECTIONS. */ /* Then print the number of selections. */ selections=listc('mychar.list',' ',' ',4); put 'User selected' selections; /* Find out the number of items */ /* in LIST_C and print the number. */ num_selected=listlen(list_c); put 'Total number selected is' num_selected; /* Get the selections from */ /* the current list */ /* and print each one. */ do i=1 to num_selected; item=getitemc(list_c,i); put 'Item' i 'is ' item; end;
Testing the program and selecting GHI, DEF, JKL, and then ABC produces the following output:
User selected GHI DEF JKL ABC Total number selected is 4 Item 1 is GHI Item 2 is DEF Item 3 is JKL Item 4 is ABC
Create LIST_N and make it the current list. Use LISTN to display a selection list containing the numbers 1, 2, 3, and 4, which are stored in MYLIST.LIST, and allow a user to make up to 4 selections.
list_n=makelist(); cur_list=curlist(list_n); /* Display the list and put the first user */ /* selection in SELECTED_FIRST, */ /* then print the number of user selections. */ selected_first=listn('mylist.list',' ',' ',4); put 'First selection is ' selected_first; /* Find out the number of items in LIST-N */ /* and print the number. */ num_selected=listlen(list_n); put 'Total number selected is ' num_selected; /* Get any other selections from */ /* the current list */ /* and print each number. */ do i=1 to num_selected; item=getitemn(list_n,i); put 'Item ' i 'is ' item; end;
Testing the program and selecting 3, 2, 4, and 1, produces the following output:
First selection is 3 Total number selected is 4 Item 1 is 3 Item 2 is 2 Item 3 is 4 Item 4 is 1
See Also |
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.