---
title: HidableInfragisticsColumn
summary: API reference for HidableInfragisticsColumn.
status: draft
owner: SAIF documentation generator
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.AJAX.Infragistics103
reference_type: package
---

# HidableInfragisticsColumn

`HidableInfragisticsColumn` wraps a single `Infragistics.WebUI.UltraWebGrid.UltraGridColumn` with the visibility state and visibility mode that `InfragisticsGridCustomizer` needs to decide whether the end user may toggle that column.

## Purpose
- Tracks whether a specific grid column is currently visible, independent of the underlying `UltraGridColumn.Hidden`/`ServerOnly` flags, so `InfragisticsGridCustomizer` can compute changes before applying them to the live grid.
- Enforces [BR-AJAX-002](../../business-rules.md#br-ajax-002-always-visible-and-always-hidden-grid-columns-cannot-be-toggled-by-the-end-user) at construction time: columns configured as `AlwaysHidden` are forced to `ServerOnly = True` immediately, ensuring they never render even before the customizer's checkbox list is shown.

## Context
- Namespace: `SAIF.Presentation.Web.Controls.V2.AJAX`
- Assembly/package: `SAIF.Presentation.Web.Controls.AJAX.Infragistics103`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Column | `ReadOnly Property Column() As UltraGridColumn` | The wrapped Infragistics grid column instance |
| Key | `ReadOnly Property Key() As String` | The wrapped column's key, used for preference persistence and lookup |
| IsVisible | `Property IsVisible() As Boolean` | Whether this column is currently selected to be visible on the grid |
| VisibilityMode | `Property VisibilityMode() As InfragisticsGridCustomizer.VisiblityModes` | Whether this column is `Normal` (user-toggleable), `AlwaysVisible`, or `AlwaysHidden` |
| Hidden | `Property Hidden() As Boolean` | Proxies the wrapped column's `Hidden` flag |
| ServerOnly | `Property ServerOnly() As Boolean` | Proxies the wrapped column's `ServerOnly` flag |
| Header | `ReadOnly Property Header() As ColumnHeader` | The wrapped column's header, used to derive checkbox-list captions |
| New | `Sub New(inColumn As UltraGridColumn, inIsVisible As Boolean, inVisibilityMode As InfragisticsGridCustomizer.VisiblityModes)` | Initializes the wrapper, forcing `ServerOnly = True` immediately for `AlwaysHidden` columns |

## Behavioral notes
- For non-`AlwaysHidden` columns, the constructor resets `Hidden`/`ServerOnly` to `False` regardless of the caller-supplied `inIsVisible`* — actual visibility application happens later via `InfragisticsGridCustomizer.ManipulateGrid`, which inserts/removes the column from the grid's `Columns` collection rather than toggling `Hidden`.

## Constraints and usage notes
- `VisibilityMode`'s setter is `Protected Friend` — only `InfragisticsGridCustomizer` (same assembly) can change a column's visibility mode after construction.

> **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.AJAX.Infragistics103\InfragisticsGridCustomizer.vb`
