Skip to content

ModalGridCustomizer.ColumnVisibilityOverride

ColumnVisibilityOverride is a public, designer-expandable property class nested inside ModalGridCustomizer. It groups the two semicolon-delimited column-key override lists that the page author uses to lock certain columns permanently visible or permanently hidden, exposed on the parent control through its ColumnVisiblity property and rendered as an expandable sub-property group in the Visual Studio designer via ExpandableObjectConverter.

Purpose

  • Carries the AlwaysVisibleColumns and AlwaysHiddenColumns override lists from the designer/markup down to the InfragisticsGridCustomizer constructor, which uses them to assign each column's VisiblityModes. (BR-AJAX-028)
  • Presents both lists as a single expandable "ColumnVisiblity" designer property group (via TypeConverter(GetType(ExpandableObjectConverter))), rather than two flat top-level properties, for a cleaner Properties-window experience.

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 ModalGridCustomizer; exposed on the parent control through the ColumnVisiblity property (PersistenceMode.InnerProperty).
  • Decorated with <TypeConverter(GetType(ExpandableObjectConverter))> so the ASP.NET Web Forms designer renders it as an expandable node.

Public members

Member Signature Purpose
AlwaysVisibleColumns Property AlwaysVisibleColumns As String (default "") Semicolon-delimited grid column keys that are always shown, checked, and disabled in the customization popup — never toggleable by the user. (BR-AJAX-028)
AlwaysHiddenColumns Property AlwaysHiddenColumns As String (default "") Semicolon-delimited grid column keys that are always hidden and omitted entirely from the customization popup's checkbox list. (BR-AJAX-028, BR-AJAX-032)

Behavioral notes

  • Both lists are passed unchanged into InfragisticsGridCustomizer.New, which validates that every listed column key actually exists on the target grid and throws ApplicationException if not. (BR-AJAX-024)
  • Setting the same column key in both AlwaysVisibleColumns and AlwaysHiddenColumns is not validated against here; InfragisticsGridCustomizer.InitializeColumnList resolves ambiguity by checking AlwaysVisibles before AlwaysHiddens.*

Constraints and usage notes

  • Column keys in both lists must exactly match a column key present on the target UltraWebGrid, or construction of the underlying InfragisticsGridCustomizer fails. (BR-AJAX-024)

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/ModalGridCustomizer.vb