---
title: MultiListControl
summary: API reference for MultiListControl.
status: draft
owner: SAIF Documentation Team
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.V2
reference_type: package
---

# 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](../../business-rules.md#br-v2-004-wildcard-selection-in-multilistcontrol-is-mutually-exclusive-with-other-items)).

## 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](../../business-rules.md#br-v2-004-wildcard-selection-in-multilistcontrol-is-mutually-exclusive-with-other-items).

## 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](../../business-rules.md#br-v2-004-wildcard-selection-in-multilistcontrol-is-mutually-exclusive-with-other-items). |
| `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](../../operations/multilist-selection-and-wildcard-behavior.md).
- `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 `WebResource`s 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
