---
title: InfragisticsGridCustomizer.VisiblityModes
summary: API reference for InfragisticsGridCustomizer.VisiblityModes.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.AJAX.Infragistics111
reference_type: package
---

# InfragisticsGridCustomizer.VisiblityModes

`VisiblityModes` is a public enum nested inside [InfragisticsGridCustomizer](InfragisticsGridCustomizer.md). It classifies each managed grid column into one of three visibility-control regimes, and every place in the library that decides whether a column can be shown, hidden, or is locked one way consults this value. ([BR-AJAX-028](../../business-rules.md#br-ajax-028-always-visible-or-always-hidden-columns-cannot-be-changed))

## Purpose
- Distinguishes columns the end user is allowed to toggle (`Normal`) from columns whose visibility is locked by the page author (`AlwaysVisible`, `AlwaysHidden`), so `Update` and `ManipulateGrid` can honor those locks. ([BR-AJAX-028](../../business-rules.md#br-ajax-028-always-visible-or-always-hidden-columns-cannot-be-changed))
- Drives which columns are offered as checkboxes in the customization popup at all — `AlwaysHidden` columns are omitted from `ListItems` entirely. ([BR-AJAX-032](../../business-rules.md#br-ajax-032-always-hidden-columns-are-not-offered-to-the-user))
- Determines whether an `AlwaysVisible` column's checkbox is rendered checked-but-disabled in the popup. ([BR-AJAX-034](../../business-rules.md#br-ajax-034-always-visible-columns-appear-checked-but-disabled))

## Context
- Namespace: `SAIF.Presentation.Web.Controls.V2.AJAX`
- Assembly/package: `SAIF.Presentation.Web.Controls.AJAX.Infragistics111` (packaged in `SAIF.BOF.Presentation.Web.Infragistics111`)
- Declared as a nested type of `InfragisticsGridCustomizer`; also used as the type of `HidableInfragisticsColumn.VisibilityMode`.

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Normal` | `Normal` | The column's visibility follows the user's checkbox choice and any saved preference. |
| `AlwaysVisible` | `AlwaysVisible` | The column is always shown; its checkbox is rendered checked and disabled and cannot be changed by the user or a saved preference. ([BR-AJAX-028](../../business-rules.md#br-ajax-028-always-visible-or-always-hidden-columns-cannot-be-changed), [BR-AJAX-034](../../business-rules.md#br-ajax-034-always-visible-columns-appear-checked-but-disabled)) |
| `AlwaysHidden` | `AlwaysHidden` | The column is always hidden and is never offered as a checkbox in the customization popup. ([BR-AJAX-028](../../business-rules.md#br-ajax-028-always-visible-or-always-hidden-columns-cannot-be-changed), [BR-AJAX-032](../../business-rules.md#br-ajax-032-always-hidden-columns-are-not-offered-to-the-user)) |

## Behavioral notes
- Only columns whose mode is `Normal` are ever inserted into or removed from the grid's `Columns` collection by `ManipulateGrid`; `AlwaysVisible`/`AlwaysHidden` columns are left as originally configured on the grid definition. ([BR-AJAX-040](../../business-rules.md#br-ajax-040-hiding-a-column-removes-it-entirely-re-showing-reinserts-it-at-its-original-position))
- A saved column-selection preference is applied to a column only when its mode is `Normal`; preferences for locked columns are silently ignored.

## Constraints and usage notes
- The mode for a column is fixed at construction time (from the `AlwaysVisibleColumns`/`AlwaysHiddenColumns` override lists passed to `InfragisticsGridCustomizer.New`) and is not intended to change afterward.*

> **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.Infragistics111/InfragisticsGridCustomizer.vb`
