Skip to content

MultiListControl

MultiListControl composes a text box, an image trigger, and a hidden CheckBoxList into a combo-style multi-select picker: selecting checkbox items updates a semicolon-delimited text summary, and a configurable wildcard item enforces mutual exclusivity with specific selections (BR-V2-004).

Purpose

  • Present a compact, single text-box-like control that expands into a checkbox list for multi-value selection, avoiding a full multi-select list box in the page layout.
  • Keep the text box and checkbox list synchronized in both directions (checkbox change → text; typed text → checkbox selection).
  • Enforce wildcard/"All" selection exclusivity per BR-V2-004.

Context

  • Namespace: SAIF.Presentation.Web.Controls.V2
  • Assembly/package: Compiled into SAIF.BOF.Presentation.Web.Infragistics103*

Public members

Member Signature Purpose
ListItemSelected Public Event ListItemSelected(ByVal sender As Object, ByVal e As EventArgs) Raised after the checkbox-list selection changes and the text box has been synchronized.
TextChanged Public Event TextChanged(ByVal sender As Object, ByVal e As EventArgs) Raised after the typed text has been parsed and checkbox selections synchronized.
AutoPostback Public Property AutoPostback As Boolean Enables automatic postback on checkbox/text-box changes, needed for the server-side synchronization logic to run immediately.
IsTextEditable Public Property IsTextEditable As Boolean Controls whether the underlying text box accepts direct keyboard entry, or is read-only and driven only by checkbox selections.
DisplayText Public Property DisplayText As String The synchronized text representation of the current selection: a semicolon-delimited list of checked item texts, or the wildcard value when "All" is selected; setting it re-parses and re-applies the corresponding checkbox selections.
WildCardItem Public Property WildCardItem As String Names the list item text treated as the "All"/wildcard selection, triggering mutual exclusivity per BR-V2-004.
ListDatasource Public Overridable Property ListDatasource As Object Data source bound to the internal CheckBoxList on DataBind.
TextDatasource Public Overridable Property TextDatasource As Object Optional data source whose string value initializes the text box on DataBind.
DataBind() Public Overrides Sub DataBind() Binds ListDatasource to the internal checkbox list and, if set, applies TextDatasource to the text box.

Inherited public members

MultiListControl inherits from CompositeControl (System.Web.UI.WebControls), a framework base class rather than a documented SAIF dependency library.

Member Signature Purpose
AccessKey Public Property AccessKey As String Keyboard shortcut character used to move focus to the rendered outer element.
Attributes Public ReadOnly Property Attributes As AttributeCollection Collection of arbitrary HTML attributes rendered on the control's outer tag.
CssClass Public Property CssClass As String CSS class name(s) rendered on the control's outer tag.
Controls Public ReadOnly Property Controls As ControlCollection Child controls collection containing the internal text box, image trigger, and checkbox list.
Enabled Public Property Enabled As Boolean Controls whether the composite control and its children participate in enabled-state behavior.
Height Public Property Height As Unit Height of the rendered outer element.
Width Public Property Width As Unit Width of the rendered outer element.
SkinID Public Property SkinID As String Theme skin identifier applied when ASP.NET themes are in use.
Style Public ReadOnly Property Style As CssStyleCollection Inline CSS style declarations rendered on the outer tag.
ToolTip Public Property ToolTip As String Text shown as a native tooltip when hovering the rendered element.

Standard CompositeControl/Control members (ID, ClientID, Controls, Visible, DataBind, FindControl, etc.) are not re-documented here as they are unmodified framework behavior**.

Behavioral notes

  • m_CheckList_SelectedIndexChanged and m_TextBox_TextChanged implement the bidirectional synchronization and wildcard exclusivity described in MultiList selection and wildcard behavior.
  • LayoutControls branches CSS/positioning logic on Page.Request.Browser.Browser.ToUpper = "FIREFOX", a legacy browser-sniffing pattern that may not reliably detect current Firefox versions*.
  • Embeds a MultiComboArrow.gif image and MultiList.js script as assembly WebResources for the popup show/hide trigger.

Constraints and usage notes

  • WildCardItem must exactly match an item's Text in the bound list for exclusivity logic to activate.
  • AutoPostback should be enabled for the synchronization event handlers to fire promptly on user interaction.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

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