The MULTISELECT widget allows you to specify that the first column in a LIST should contain a check-box on each row and to allow several rows to be selected. A "Select All" feature can be enabled which displays a check-box in the column header. See ENABLE_SELECT_ALL_CHECKBOX for further details.
Each check box can represents multiple entities in the row. For each check box that is selected, the fields on that row will be compiled into a " | " delimited string and each row will be tab delimited and passed as a page parameter when a specific type of page link is activated.
The UIM document in The MULTISELECT Widget is an example of a page with multiple rows with check boxes. When the form is submitted, a single string, containing multiple fields for each selected row, is passed to the in$tabbedString field on the target page. Following the UIM is a detailed description of each relevant part of the UIM that implement this functionality.
<PAGE PAGE_ID="MultiSelectWidgetTest" xsi:noNamespaceSchemaLocation="CuramUIMSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SERVER_INTERFACE NAME="DISPLAY" CLASS="MyBean" OPERATION="Display" PHASE="DISPLAY"/> <SERVER_INTERFACE NAME="ACTION" CLASS="MyBean" OPERATION="Submit" PHASE="ACTION"/> <LIST TITLE="List.Title"> <ACTION_SET BOTTOM="false"> <ACTION_CONTROL TYPE="SUBMIT"> <LINK PAGE_ID="MultiSelectWidgetResult"> <CONNECT> <SOURCE NAME="ACTION" PROPERTY="in$tabbedString"/> <TARGET NAME="PAGE" PROPERTY="referenceNumTabString"/> </CONNECT> </LINK> </ACTION_CONTROL> </ACTION_SET> <CONTAINER LABEL="List.Multiselect.Header" WIDTH="5" ALIGNMENT="CENTER"> <WIDGET TYPE="MULTISELECT" HAS_CONFIRM_PAGE="true"> <WIDGET_PARAMETER NAME="MULTI_SELECT_SOURCE"> <CONNECT> <SOURCE PROPERTY="personID" NAME="DISPLAY"/> </CONNECT> <CONNECT> <SOURCE PROPERTY="caseID" NAME="DISPLAY"/> </CONNECT> </WIDGET_PARAMETER> <WIDGET_PARAMETER NAME="MULTI_SELECT_TARGET"> <CONNECT> <TARGET PROPERTY="in$tabbedString" NAME="ACTION"/> </CONNECT> </WIDGET_PARAMETER> <WIDGET_PARAMETER NAME="MULTI_SELECT_INITIAL"> <CONNECT> <SOURCE NAME="DISPLAY" PROPERTY="out$tabString"/> </CONNECT> </WIDGET_PARAMETER> </WIDGET> </CONTAINER> <FIELD LABEL="Field.Title.ReferenceNumber" WIDTH="35"> <CONNECT> <SOURCE NAME="DISPLAY" PROPERTY="personID"/> </CONNECT> </FIELD> <FIELD LABEL="Field.Title.Forename" WIDTH="30"> <CONNECT> <SOURCE NAME="DISPLAY" PROPERTY="firstName"/> </CONNECT> </FIELD> <FIELD LABEL="Field.Title.Surname" WIDTH="30"> <CONNECT> <SOURCE NAME="DISPLAY" PROPERTY="surname"/> </CONNECT> </FIELD> </LIST> </PAGE>
The main points to note in the above UIM example are:
Below is an example of the delimited string passed as a parameter to the specified page.
101|case121 102|case122 103|case123
Parameter Name |
Required |
Description and Connections |
---|---|---|
MULTI_SELECT_SOURCE |
Yes |
This parameter can include multiple CONNECT elements that must specify a SOURCE end-point. The SOURCE end-point must be a list property containing the key data for the row. |
MULTI_SELECT_TARGET | Yes |
This parameter must include one CONNECT element that must specify a TARGET end-point. The TARGET end-point must be a string property containing the key data for selected rows. |
MULTI_SELECT_INITIAL | No |
This parameter must include one CONNECT element that must specify a SOURCE end-point. The SOURCE end-point must be a string property containing the key data for the rows that are initially check when page is loaded. |