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
BeforeSelectedIndexChangedevent so host pages can veto a tab switch (e.g., due to unsaved-data validation) beforeSelectedIndexChangedcommits 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¶
LinkButtonClickmatches the clicked link'sClientIDagainst the tab list, then raisesBeforeSelectedIndexChanged(cancelable) beforeSelectedIndexChanged, per Tab selection.- Tab data is stored in an internal
ArrayListofTabSettings, not a strongly-typed generic collection*.
Constraints and usage notes¶
- Consuming pages must call
AddTab/InsertTabduring the page lifecycle before rendering; there is no markup-declarative alternative for this control (contrast withSAIFTabBar). - The
DivIDsupplied toAddTab/InsertTabis not automatically shown/hidden bySAIFTabsitself — the host page is responsible for toggling the associated content panel's visibility in response toSelectedIndexChanged*.
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