Skip to content

ColumnPreferenceList

ColumnPreferenceList is the (de)serialization layer between InfragisticsGridCustomizer's in-memory column selections and the flat string form persisted in clsPreferences under the IGC_<gridId>_ColumnSelection key. It converts a list of column keys and their checked state into a compact string like PolicyNum.1;Status.0, and parses that same form back into individual preference entries when a saved customization is loaded.

Purpose

  • Serializes a set of column-key/checked-state pairs into the persisted string form (Key.1;Key.0;…) written by InfragisticsGridCustomizer.SavePreferences. (BR-AJAX-039)
  • Parses that same persisted string form back into individual preference entries when LoadColumnPreferences restores a saved customization on page load.

Context

  • Namespace: SAIF.Presentation.Web.Controls.V2.AJAX
  • Assembly/package: SAIF.Presentation.Web.Controls.AJAX.Infragistics111 (packaged in SAIF.BOF.Presentation.Web.Infragistics111)
  • Base class: Generic.List(Of Preference) (.NET Framework)

Public members

Member Signature Purpose
New Sub New(preferenceString As String) Parses a persisted preference string (delimiters ; between entries, . between key and checked-state) into individual Preference entries
ToString Overrides Function ToString() As String Serializes the current entries back into the Key.1;Key.0;… persisted string form

Nested types

Type Kind Purpose
Preference Nested class A single column key plus its checked (1)/unchecked (0) state

Behavioral notes

  • The string format uses ; to separate entries and . to separate a column key from its state digit, so column keys containing either character would corrupt the persisted form; no escaping mechanism is documented.**

Constraints and usage notes

  • This class is purely a serialization helper; it does not itself read or write clsPreferences — InfragisticsGridCustomizer.SavePreferences/LoadColumnPreferences own that responsibility and use this class only for the string conversion.

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