The List data type is one of the most useful features in Lotus Notes. It allows you to change the size of a list at any point while the application is still running. LotusScript doesn't allocate any storage space at compile time for the elements of a list.
Lists automatically shrink or grow when elements are either deleted or added. You access each element in a list by a unique String value, called a list tag.
The second advantage of using a List over an Array is the variety of objects you can store. You can also define your own key to sort objects based on specific requirements. My company uses large amounts of indicators in our applications, such as Row, materials, Carbon details, etc.
Because of this, we can't use Array since we need these to use indicators as a key that lets us loop through and build reports on the Web. For example, we might use something like:
Dim Indicators List As String Indicators("Row Materials")=4 Indicators("Carbon details")=5 Forall ind in Indicators Print |Observation name: |+ind+| values : | + Indicators(ind) end forall
In this example, you can see how easily List keeps user-defined names as a key. Corresponding values can then be retrieved by a passing key (List tag). While building these reports, I needed to use a sorting mechanism with List. When the previously mentioned code runs, it will display:
Row Materials : 4 Carbon details : 5
But I need Carbon details to be printed first. In this case, I need to sort my list based on the List tag so that the objects display alphabetically. Here is the LotusScript code to sort the List based on the List tag.
Do you have comments on this tip? Let us know.
This tip was submitted to the SearchDomino.com tip library by member Rishi Sahi. Please let others know how useful it is via the rating scale below. Do you have a useful Lotus Notes/Domino technical tip or code snippet to share? Submit it to our monthly tip contest and you could win a prize.