Skip to content

SAIFTabs

SAIFTabs is the imperative (code-driven) counterpart to SAIFTabBar: consuming pages build the tab list at runtime via AddTab/InsertTab/RemoveTab, and the control raises cancelable selection-change events so host pages can coordinate visibility of tab-associated content panels (DivID)*.

Purpose

  • Let host pages build and manage a tab bar entirely in code, rather than declaring tabs in markup (contrast with SAIFTabBar).
  • Raise a cancelable BeforeSelectedIndexChanged event so host pages can veto a tab switch (e.g., due to unsaved-data validation) before SelectedIndexChanged commits it.

Context

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

Public members

Member Signature Purpose
ActiveLinkStyle Public Property ActiveLinkStyle As String CSS class applied to the selected tab's link text.
InactiveLinkStyle Public Property InactiveLinkStyle As String CSS class applied to unselected tabs' link text.
ActiveTabStyle Public Property ActiveTabStyle As String CSS class applied to the selected tab's cell.
InactiveTabStyle Public Property InactiveTabStyle As String CSS class applied to unselected tabs' cells.
TabImageLeft Public Property TabImageLeft As String Image URL for the left edge decoration of each rendered tab.
TabImageRight Public Property TabImageRight As String Image URL for the right edge decoration of each rendered tab.
SelectedTabId Public ReadOnly Property SelectedTabId As String The ClientID of the currently selected tab.
SelectedTabIndex Public ReadOnly Property SelectedTabIndex As Integer The zero-based index of the currently selected tab.
SelectedTabText Public ReadOnly Property SelectedTabText As String The display text of the currently selected tab.
SelectedTab Public ReadOnly Property SelectedTab As TabSettings The full TabSettings model of the currently selected tab.
IsDesign Public ReadOnly Property IsDesign As Boolean Indicates whether the control is executing in the Visual Studio designer (used by SAIFTabsDesigner).
SelectedIndexChanged Public Event SelectedIndexChanged(ByRef sender As Object, ByRef e As SAIFTabEventArgs) Raised after the selected tab has changed (uncanceled).
BeforeSelectedIndexChanged Public Event BeforeSelectedIndexChanged(ByRef sender As Object, ByRef e As SAIFTabEventArgs) Raised before committing a tab switch; setting e.Cancel = True vetoes the change.
AddTab(inText, inClientID, inDivID, inSelected, inAccessKey, inWidth) Public Sub AddTab(ByVal inText As String, ByVal inClientID As String, ByVal inDivID As String, ByVal inSelected As Boolean, ByVal inAccessKey As String, ByVal inWidth As Unit) Appends a new tab with an explicit width, associating it with a content DivID that the host page shows/hides on selection.
AddTab(inText, inClientID, inDivID, inSelected, inAccessKey) Public Sub AddTab(ByVal inText As String, ByVal inClientID As String, ByVal inDivID As String, ByVal inSelected As Boolean, ByVal inAccessKey As String) Appends a new tab using a default width.
InsertTab(inIndex, inText, inClientID, inDivID, inSelected, inAccessKey) Public Sub InsertTab(ByVal inIndex As Integer, ByVal inText As String, ByVal inClientID As String, ByVal inDivID As String, ByVal inSelected As Boolean, ByVal inAccessKey As String) Inserts a new tab at a specific index using a default width.
InsertTab(inIndex, inText, inClientID, inDivID, inSelected, inAccessKey, inWidth) Public Sub InsertTab(ByVal inIndex As Integer, ByVal inText As String, ByVal inClientID As String, ByVal inDivID As String, ByVal inSelected As Boolean, ByVal inAccessKey As String, ByVal inWidth As Unit) Inserts a new tab at a specific index with an explicit width.
RemoveTab(inID) Public Sub RemoveTab(ByVal inID As String) Removes the tab matching the given tab ID.
RemoveTab(inIndex) Public Sub RemoveTab(ByVal inIndex As Integer) Removes the tab at the given index.
SelectTab(inID) Public Sub SelectTab(ByVal inID As String) Programmatically selects the tab matching the given ID.
SelectTab(inIndex) Public Sub SelectTab(ByVal inIndex As Integer) Programmatically selects the tab at the given index.
HideTab(inID) Public Sub HideTab(ByVal inID As String) Hides the tab matching the given ID.
HideTab(inIndex) Public Sub HideTab(ByVal inIndex As Integer) Hides the tab at the given index.
ShowTab(inID) Public Sub ShowTab(ByVal inID As String) Shows the tab matching the given ID.
ShowTab(inIndex) Public Sub ShowTab(ByVal inIndex As Integer) Shows the tab at the given index.
Clear() Public Sub Clear() Removes all tabs from the control.

Inherited public members

SAIFTabs inherits from Control (System.Web.UI), a framework base class rather than a documented SAIF dependency library.

Member Signature Purpose
ClientID Public ReadOnly Property ClientID As String Rendered client-side ID used by scripts and generated child controls.
Controls Public ReadOnly Property Controls As ControlCollection Child controls collection containing the dynamically generated tab links and layout controls.
EnableViewState Public Property EnableViewState As Boolean Controls whether the tab control persists state across postbacks.
ID Public Property ID As String Server-side identifier used in naming containers and control lookup.
NamingContainer Public ReadOnly Property NamingContainer As Control Parent naming container used to scope child control IDs.
Page Public ReadOnly Property Page As Page Owning page used during lifecycle events and script registration.
Parent Public ReadOnly Property Parent As Control Immediate containing control in the server control tree.
UniqueID Public ReadOnly Property UniqueID As String Fully qualified postback identifier used in form submissions.
Visible Public Property Visible As Boolean Determines whether the tab control participates in rendering.

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

Behavioral notes

  • LinkButtonClick matches the clicked link's ClientID against the tab list, then raises BeforeSelectedIndexChanged (cancelable) before SelectedIndexChanged, per Tab selection.
  • Tab data is stored in an internal ArrayList of TabSettings, not a strongly-typed generic collection*.

Constraints and usage notes

  • Consuming pages must call AddTab/InsertTab during the page lifecycle before rendering; there is no markup-declarative alternative for this control (contrast with SAIFTabBar).
  • The DivID supplied to AddTab/InsertTab is not automatically shown/hidden by SAIFTabs itself — the host page is responsible for toggling the associated content panel's visibility in response to SelectedIndexChanged*.

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\SAIFTabs.vb