SAIFTabBar¶
SAIFTabBar is the declarative (markup-persisted) implementation of the library's two independent tab-bar implementations: consuming pages declare tabs directly in .aspx markup (ParseChildren(True, "Tabs")), and the control manages selection state, sorting, and CSS-class application for TabBar (mutually exclusive) or WizardTabBar (sequential) modes*.
Purpose¶
- Render a tab bar from a markup-declared, sortable collection of
SAIFTabBarTabentries. - Enforce mutually exclusive tab selection in standard
TabBarmode (BR-V2-006), or sequential "selected + sibling" styling inWizardTabBarmode. - Provide bulk operations (enable/disable, show/hide) across all tabs.
Context¶
- Namespace:
SAIF.Presentation.Web.Controls.V2 - Assembly/package: Compiled into
SAIF.BOF.Presentation.Web.Infragistics103*
Public members¶
| Member | Signature | Purpose |
|---|---|---|
Mode |
Public Property Mode As TabBarMode |
Selects mutually-exclusive (TabBar) or sequential (WizardTabBar) selection/styling behavior. |
AllowSelectedTabClick |
Public Property AllowSelectedTabClick As Boolean |
When False (default), clicking the already-selected tab is suppressed client-side (return false;), preventing a redundant postback. |
SelectedTab |
Public ReadOnly Property SelectedTab As SAIFTabBarTab |
Returns the currently selected tab model, or Nothing if none is selected. |
Item(inTabKey) (default) |
Default Public ReadOnly Property Item(ByVal inTabKey As String) As SAIFTabBarTab |
Looks up a tab by its ID via the default indexer. |
Tabs |
Public ReadOnly Property Tabs As SAIFTabBarTabCollection |
The markup-persisted collection of tabs managed by this control. |
TabClickedEventHandler (Delegate) |
Public Delegate Sub TabClickedEventHandler(ByVal t As SAIFTabBarTab) |
Delegate signature for the TabClicked event. |
TabClicked |
Public Event TabClicked As TabClickedEventHandler |
Raised after a tab click updates selection state, passing the newly selected SAIFTabBarTab. |
New() |
Public Sub New() |
Constructs the control with no non-default initialization beyond the base WebControl; the tab collection is populated later by markup parsing rather than in the constructor*. |
DisableAllTabs() |
Public Sub DisableAllTabs() |
Bulk-disables every tab, so consuming pages can grey out the whole tab bar (e.g., while a dependent process is unavailable) without iterating Tabs themselves. |
EnableAllTabs() |
Public Sub EnableAllTabs() |
Bulk-restores clickability of every tab, reversing DisableAllTabs() in a single call. |
HideAllTabs() |
Public Sub HideAllTabs() |
Bulk-hides every tab, letting a host page collapse the entire tab bar (e.g., when no tab content applies) without per-tab visibility logic. |
ShowAllTabs() |
Public Sub ShowAllTabs() |
Bulk-restores visibility of every tab, reversing HideAllTabs() in a single call. |
Inherited public members¶
SAIFTabBar inherits from WebControl (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 quickly navigate focus to the rendered element. |
Attributes |
Public ReadOnly Property Attributes As AttributeCollection |
Collection of arbitrary name/value HTML attributes rendered on the control's outer tag. |
BackColor |
Public Property BackColor As Color |
Background color applied to the rendered outer element. |
ForeColor |
Public Property ForeColor As Color |
Foreground (text) color applied to the rendered outer element. |
BorderColor |
Public Property BorderColor As Color |
Border color applied to the rendered outer element. |
BorderStyle |
Public Property BorderStyle As BorderStyle |
Border line style applied to the rendered outer element. |
BorderWidth |
Public Property BorderWidth As Unit |
Border width applied to the rendered outer element. |
CssClass |
Public Property CssClass As String |
CSS class name(s) rendered on the control's outer tag. |
Enabled |
Public Property Enabled As Boolean |
Controls whether the rendered element is enabled and participates in postbacks. |
Font |
Public ReadOnly Property Font As FontInfo |
Font styling applied to the rendered outer element. |
Height |
Public Property Height As Unit |
Height of the rendered outer element. |
Width |
Public Property Width As Unit |
Width of the rendered outer element. |
Style |
Public ReadOnly Property Style As CssStyleCollection |
Inline CSS style declarations rendered on the outer tag. |
TabIndex |
Public Property TabIndex As Short |
Tab order of the rendered element among focusable page elements. |
ToolTip |
Public Property ToolTip As String |
Text shown as a native tooltip when hovering the rendered element. |
ControlStyle |
Public ReadOnly Property ControlStyle As Style |
The Style object backing the CSS-related properties above. |
RenderBeginTag / RenderEndTag |
Public Overridable Sub RenderBeginTag/RenderEndTag(ByVal writer As HtmlTextWriter) |
Writes the opening/closing outer HTML tag and its attributes/styles. |
Standard WebControl/Control members (ID, ClientID, Controls, Visible, DataBind, FindControl, etc.) are not re-documented here as they are unmodified framework behavior**.
Behavioral notes¶
CreateChildControlssorts_Tabs(Order, thenText) and builds one<li><LinkButton></li>per tab, wiring eachLinkButton.ClicktoRaiseTabClickedEvent.RaiseTabClickedEventdeselects all tabs first whenMode = TabBarMode.TabBar(mutual exclusivity, BR-V2-006), then selects the clicked tab and raisesTabClicked.RenderControlappliesSelected/SelectedSibling/Disabled/DisabledSelectedCSS classes per tab based on state andMode, and wraps rendering in aTry/Catchthat writes exception details directly to the output stream on failure*.- See Tab selection for the full step-by-step operation shared with
SAIFTabs.
Constraints and usage notes¶
- Tabs are declared in markup (
ParseChildren(True, "Tabs")), not added imperatively; for code-driven tab management, useSAIFTabsinstead. SAIFTabBar's error-handling inRenderControlsurfaces raw exception details to the rendered page output, which may be unsuitable for production error handling*.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
- SAIF.Presentation.Web.Controls.V2\SAIFTabBar.vb