Skip to content

HidableInfragisticsColumn

HidableInfragisticsColumn is the per-column unit of state managed by InfragisticsGridCustomizer: it wraps one UltraGridColumn alongside the visibility flags and mode that determine whether the column can be toggled by the user, and how it should be inserted or removed from the live grid. (BR-AJAX-025, BR-AJAX-026)

Purpose

  • Wraps an UltraGridColumn so InfragisticsGridCustomizer can track and manipulate visibility independently of the grid's live Columns collection.
  • Derives its initial visibility from the grid's own design-time Hidden/ServerOnly flags, so the customizer's starting state matches designer intent. (BR-AJAX-025)
  • Forces always-hidden columns to ServerOnly and clears Hidden/ServerOnly on all other columns at construction time, so the customizer becomes the single point of control over visibility going forward. (BR-AJAX-026)

Context

  • Namespace: SAIF.Presentation.Web.Controls.V2.AJAX
  • Assembly/package: SAIF.Presentation.Web.Controls.AJAX.Infragistics111 (packaged in SAIF.BOF.Presentation.Web.Infragistics111)

Public members

Member Signature Purpose
New Sub New(column As UltraGridColumn, mode As InfragisticsGridCustomizer.VisiblityModes) Wraps the column, records its visibility mode, and normalizes Hidden/ServerOnly per the mode (BR-AJAX-026)
IsVisible Property IsVisible As Boolean Whether the wrapped column is currently visible to the user, driving ManipulateGrid's insert/remove decision (BR-AJAX-040)
VisibilityMode ReadOnly Property VisibilityMode As InfragisticsGridCustomizer.VisiblityModes Normal, AlwaysVisible, or AlwaysHidden — governs whether IsVisible can be changed by the user or saved preferences (BR-AJAX-028)
Hidden ReadOnly Property Hidden As Boolean The wrapped column's original design-time Hidden flag
ServerOnly ReadOnly Property ServerOnly As Boolean The wrapped column's original design-time ServerOnly flag
Key ReadOnly Property Key As String The wrapped column's key, used to match saved column-selection preferences (BR-AJAX-027)
Header ReadOnly Property Header As ColumnHeader The wrapped column's header, used to derive the checkbox-list label (BR-AJAX-033)

Behavioral notes

  • Only columns whose VisibilityMode is Normal are ever inserted into or removed from the grid by ManipulateGrid; AlwaysVisible and AlwaysHidden columns are left untouched regardless of IsVisible. (BR-AJAX-028)

Constraints and usage notes

  • Instances are created only by InfragisticsGridCustomizer.InitializeColumnList after validating that the corresponding override column key exists on the target grid; there is no public factory for creating one independently. (BR-AJAX-024)

Sources

  • SAIF.Presentation.Web.Controls.AJAX.Infragistics111/InfragisticsGridCustomizer.vb