---
title: SAIF.Presentation.Web.Controls.AJAX.Infragistics103 operations and processes
summary: Business and technical operations supported by this library.
status: draft
owner: SAIF documentation generator
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.AJAX.Infragistics103
reference_type: package
---

# SAIF.Presentation.Web.Controls.AJAX.Infragistics103 operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under `operations/`.

## Operation catalog
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [Page-wide auto-bind and validate](operations/page-wide-auto-bind-and-validate.md) | Bind every auto-binding control on a page to the model and aggregate validity | Hosting page invokes `BindingManager.DataBind()` | `Page.Controls` tree, `Model` object | Bound controls, aggregate `IsValid`/`ErrorMessages` | — | — | — |
| [Auto-bind an individual control to its bound object](operations/auto-bind-an-individual-control-to-its-bound-object.md) | Populate a control's value from, and write it back to, a bound business-object property | ASP.NET control lifecycle `DataBind()`, or user postback | `RootBindingObject`, `BindSource`, `BindProperty` | Control `Value` populated/written back | [BR-AJAX-001](../saif-presentation-web-controls-ajax-infragistics103/business-rules.md#br-ajax-001-auto-bound-controls-display-validation-errors-sourced-from-the-bound-objects-idataerrorinfo) | — | — |
| [Validate a bound control and reflect state](operations/validate-a-bound-control-and-reflect-state.md) | Surface the bound object's own validation errors on the control and page | Called from `BindToControl`/`BindToObject` when auto-validation is enabled | `IsValid`, `ErrorMessages` | Page error label text, control background color | [BR-AJAX-001](business-rules.md#br-ajax-001-auto-bound-controls-display-validation-errors-sourced-from-the-bound-objects-idataerrorinfo) | — | — |
| [Retrieve help text for a screen field](operations/retrieve-help-text-for-a-screen-field.md) | Load a single help-text entry for a given application/reference key | Consuming code calls `clsHelpText.GetHelpText` | `IDataPortalInfo`, application code, reference key value | Populated read-only `clsHelpText` instance | — | [APPLICATION_HELP_MASTER](database-tables.md#applicationhelpmaster), [APPLICATION_HELP_DETAIL](database-tables.md#applicationhelpdetail) | [SQL-HELP-001](sql/SQL-HELP-001-retrieve-help-text-for-a-screen-field.md) |
| [Retrieve all help text entries for an application](operations/retrieve-all-help-text-entries-for-an-application.md) | Bulk-load all help-text entries for an application code | Consuming code calls `clsHelpTextCollection.GetHelpTexts` | `IDataPortalInfo`, application code | Populated `clsHelpTextCollection` | — | [APPLICATION_HELP_MASTER](database-tables.md#applicationhelpmaster), [APPLICATION_HELP_DETAIL](database-tables.md#applicationhelpdetail) | [SQL-HELP-002](sql/SQL-HELP-002-retrieve-all-help-text-entries-for-an-application.md) |
| [Customize and apply grid column visibility and paging](operations/customize-and-apply-grid-column-visibility-and-paging.md) | Let end users show/hide `UltraWebGrid` columns and control paging, with optional persisted preferences | Page load (initial grid render) and end-user interaction with the modal popup | Target `UltraWebGrid`, model's `GridCustomizers` collection, `clsPreferences` | Mutated grid column/paging configuration, optionally persisted preferences | [BR-AJAX-002](business-rules.md#br-ajax-002-always-visible-and-always-hidden-grid-columns-cannot-be-toggled-by-the-end-user), [BR-AJAX-003](business-rules.md#br-ajax-003-grid-column-visibility-override-keys-must-exist-on-the-target-grid) | — | — |

## Process flow diagram
The following diagram visualizes the primary operational flow for page binding and help-text retrieval.

```mermaid
flowchart TD
	Start([Page_Load]) --> BM[BindingManager.DataBind walks Page.Controls]
	BM --> Assign[Assign RootBindingObject to each iAutoBindingControl]
	Assign --> CtrlBind[Control lifecycle invokes each control's own DataBind]
	CtrlBind --> BindCtl[BindToControl reads bound property via reflection]
	BindCtl --> Validate{AutoValidateOnDataBind?}
	Validate -->|Yes| ValidateStep[Validate control against IDataErrorInfo]
	Validate -->|No| Skip([Skip validation])
	ValidateStep --> Style[StyleControl colors background]
	Start2([HoverHelp renders]) --> GetHelp[clsHelpText.GetHelpText retrieves DB row]
	GetHelp --> Render[HoverHelp.Fill renders popup content]
```

## Failure and edge-case behavior
- If `RootBindingObject` is `Nothing` when `AutoBindControlAncestor.DataBind()` runs, the method returns immediately — binding silently no-ops.
- If no page control named `LblErrorMsg` exists, `PageErrorLabel` resolves to `Nothing` and `BindingUtility.SetObjectValue` silently swallows the resulting `NotSupportedException` — error text is never displayed*.
- `InfragisticsGridCustomizer` construction throws `ApplicationException` if a configured always-visible/always-hidden column key does not exist on the target grid.
- `ModalGridCustomizer.TargetGrid`/`ObjectBinder` property getters throw `ApplicationException` if the named grid/binder control cannot be resolved via `Page.FindControl`.
- `clsHelpText`/`clsHelpTextCollection` have no create/update/delete path — any attempt to `Save()`/`Delete()` an instance raises `ApplicationException(BOC.Messages.InvalidSQLProperty)` at the point the base class reads the corresponding SQL property.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [Control catalog](control-catalog.md)
- [SQL catalog](sql/index.md)
- [API reference](api/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.Infragistics103\BindingManager.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\AutoBindControlAncestor.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\BindingUtility.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\clsHelpText.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\clsHelpTextCollection.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\InfragisticsGridCustomizer.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\ModalGridCustomizer.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\GridCustomizationPanel.vb`
