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

# ColumnPreferenceList

`ColumnPreferenceList` is the (de)serialization layer between [InfragisticsGridCustomizer](InfragisticsGridCustomizer.md)'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](../../business-rules.md#br-ajax-039-only-save-as-default-persists-grid-preferences))
- 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 |

<!-- SELF-CONTAINMENT: base type Generic.List(Of Preference) is a .NET Framework generic collection, not part of this repository's own doc set; no Inherited public members section is produced. -->

## 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.

## Related documentation
- [Index](../../index.md)
- [Overview](../../overview.md)
- [Architecture](../../architecture.md)
- [Business rules](../../business-rules.md)
- [Operations and processes](../../operations-processes.md)
- [API reference](../index.md)

> **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`
