BindImage (Stringlist subroutine)
Associate an image with a Stringlist
This method associates or binds an image to a Stringlist. BindImage is a subroutine that accepts one argument, an image name, and does not return anything.
BindImage is a member of the Stringlist class.
BindImage Syntax
%sl:BindImage(imagename)
Syntax Terms
- %sl
- A Stringlist object.
- imagename
- A string that contains the name of an image. This argument is case sensitive. That is, in the likely event the User Language was written in mixed case, with automatic upper-casing in effect, the image name should be in uppercase.
Usage Notes
- All errors in BindImage result in request cancellation.
- These methods can use the association between an image and a Stringlist: The association between an image and a Stringlist is generally used when all Stringlist items have the same layout as the image. Methods that create a new Stringlist usually propagate the image binding from the method Stringlist to the output Stringlist.
Examples
- Once an image is bound to a Stringlist, methods that operate on an image can omit the image name parameter. This is not only convenient from a coding perspective, it is more efficient -- no image name lookup needs to be done in NTBL.
The following example illustrates such a use of BindImage:
%list is object stringList ... image customer id is string len 8 lname is string len 32 end image ... %list = new %list:bindImage('CUSTOMER') ... for each record in %recset %customer:id = id %customer:lname = lname %list:addImage end for
- BindImage could also enable the Sort and SortNew methods to use the names of image items in the sort criteria rather than column numbers, for example, where a Stringlist has a layout described by an image:
%list is object stringList ... image customer id is string len 8 lname is string len 32 end image ... %list = new %list:bindImage('CUSTOMER') ... %list:sort('LNAME,A ID,D')
- It is probably quite common that one and only one image is bound to a Stringlist in a request. In such cases, the BindImage functionality can be achieved with the New method (:hdref reftxt=New refid=slnew.) by using an image name argument on the New method invocation:
%list is object stringList ... image customer id is string len 8 lname is string len 32 end image ... %list = new('CUSTOMER')