Skip to content

Render the multi-select list

Render a drop-down multi-select list backed by a checkbox list. CreateChildControls and DataBind for a MultiListControl instance.

Field Value
Operation ID OP-V2-010
Trigger CreateChildControls and DataBind for a MultiListControl instance.
Inputs IsTextEditable, ListDatasource, TextDatasource, WildCardItem.
Outputs A composite textbox + arrow image button + checkbox list control.
Primary components MultiListControl
Entry point SAIF.Presentation.Web.Controls.V2/MultiListControl.vb

Steps

  1. On CreateChildControls, compose a textbox (editable per IsTextEditable), an image button whose src is resolved from the embedded MultiComboArrow.gif web resource, and a checkbox list. (BR-V2-061, BR-V2-062)
  2. Wire the image button onclick to MultiListShow('<id>_<checkListClientId>') and add an onmousedown handler to the page form calling MultListLostFocus(event) so the list closes when focus is lost. (BR-V2-063)
  3. Register the embedded MultiList.js script include through Page.ClientScript.GetWebResourceUrl. (BR-V2-064)
  4. DataBind binds ListDatasource to the checkbox list and TextDatasource to the text display; WildCardItem designates the entry that represents "all". (BR-V2-065)

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([CreateChildControls]) --> Compose[Compose textbox + image button + checkbox list]
    Compose --> Wire[Wire onclick/onmousedown handlers]
    Wire --> Script[Register embedded MultiList.js]
    Script --> DataBindS([DataBind]) 
    DataBindS --> Bind[Bind ListDatasource/TextDatasource]
    Bind --> Done([Rendered])

Failure and edge-case behavior

  • No exceptional failure handling beyond the branches described in Steps was found in the analysis findings.*

Sources

  • SAIF.Presentation.Web.Controls.V2/MultiListControl.vb