SAIF.Presentation.Web.Controls.AJAX.Infragistics111 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 |
|---|---|---|---|---|---|---|---|
| Bind page controls to the model | Push the page's Model object into every auto-binding control on the page |
Page code-behind calls BindingManager.DataBind() |
Page's Model property, Page.Controls tree |
RootBindingObject set on every iAutoBindingControl |
BR-AJAX-001, BR-AJAX-002 | — | — |
| Bind a control to its model value | Populate a single control's Value from the bound model property |
ASP.NET data-binding phase, or an explicit DataBind call |
RootBindingObject, BindSource, BindProperty |
Control's Value set; validation run |
BR-AJAX-003, BR-AJAX-004, BR-AJAX-006 | — | — |
| Push a user edit back to the model | Write a user's edited value into the bound model property | Editor TextChanged / ValueChange postback event |
Editor's Value, BoundObject, BindProperty |
Model property updated; validation run | BR-AJAX-004, BR-AJAX-007 | — | — |
| Validate a control and surface errors | Read validation messages from the bound object and display them | Validate() call from bind or edit |
BoundObject (IDataErrorInfo), BindProperty |
Page's LblErrorMsg label text set; control styled |
BR-AJAX-008, BR-AJAX-011, BR-AJAX-012 | — | — |
| Aggregate page validity | Determine whether the entire page is valid and collect all error messages | Reading BindingManager.IsValid / ErrorMessages |
Page.Controls tree |
Boolean validity; aggregated error text | BR-AJAX-010, BR-AJAX-013 | — | — |
| Display hover help | Render a hover-triggered help panel above other page content | Page render, triggered client-side by the toolkit's HoverMenuExtender |
ContentText, TargetControlID |
Rendered hover panel markup | BR-AJAX-014, BR-AJAX-016 | — | — |
| Load help text from the database | Retrieve help text (single entry or full list) for an application code | Consumer code calling clsHelpText.GetHelpText or clsHelpTextCollection.GetHelpTexts |
IDataPortalInfo, ApplicationCode, ReferenceKeyValue (single-entry variant) |
Populated clsHelpText / clsHelpTextCollection instance(s) |
BR-AJAX-017, BR-AJAX-019 | APPLICATION_HELP_MASTER, APPLICATION_HELP_DETAIL | SQL-001, SQL-002 |
| Initialize a grid customizer | Build or retrieve the per-grid column/page-size customization state on first load | ModalGridCustomizer non-postback page load |
Model's GridCustomizers list, TargetControls.GridId, designer overrides |
InfragisticsGridCustomizer instance applied to the grid |
BR-AJAX-021, BR-AJAX-024 | — | — |
| Customize grid columns via the modal popup | Let the user pick visible columns/page size in a modal popup and apply or save them | User clicks the customizer image, then OK / Apply / Save as Default | Checkbox selections, page-size value | Grid rebound with new columns/page size; optionally persisted to clsPreferences |
BR-AJAX-037, BR-AJAX-039 | — | — |
| Apply column and page settings to the grid | Apply resolved column visibility and page-size state to the live UltraWebGrid |
Called from grid-customizer initialization and after OK/Apply | HidableInfragisticsColumn list, PageSize, ControlPaging |
Grid's Columns collection and paging settings updated |
BR-AJAX-040, BR-AJAX-041 | — | — |
Process flow diagram¶
The following diagram visualizes the primary operational flow across operations.
flowchart TD
Start([Page load / postback]) --> Bind[Bind page controls to the model]
Bind --> BindOne[Bind a control to its model value]
BindOne --> Validate[Validate a control and surface errors]
Edit([User edits a control]) --> Push[Push a user edit back to the model]
Push --> Validate
Validate --> Aggregate[Aggregate page validity]
Hover([User hovers a trigger]) --> Display[Display hover help]
Display --> LoadHelp[Load help text from the database]
GridOpen([User opens grid customizer]) --> Init[Initialize a grid customizer]
Init --> Apply1[Apply column and page settings to the grid]
GridOpen --> Customize[Customize grid columns via the modal popup]
Customize --> Apply2[Apply column and page settings to the grid]
Customize -->|Save as Default| Persist([clsPreferences.Save])
Inherited operations and processes¶
Operations in this section originate from base classes or services provided by dependency framework libraries. They are inherited or delegated, not implemented in this library.
From IBusinessCriteria (SAIF.Framework.Core)¶
| Operation | Intent | Provided by | Origin | Embedded in |
|---|---|---|---|---|
| Create business object from criteria | Uses an IBusinessCriteria or IBusinessApiCriteria instance with populated DataPortalInfo, exposed as IDataAccess.CreateObject(criteria)† |
IBusinessCriteria |
SAIF.Framework.Core |
Load help text from the database |
| Retrieve business object from criteria | Uses an IBusinessCriteria or IBusinessApiCriteria instance with populated DataPortalInfo, exposed as IDataAccess.RetrieveObject(criteria)† |
IBusinessCriteria |
SAIF.Framework.Core |
Load help text from the database |
Origin: These operations are defined in
SAIF.Framework.Core/IBusinessCriteriaand inherited or delegated by this component. Their step-by-step logic is embedded inline (with> Origincallouts) in the consuming operation's detail page.
Database interactions¶
The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under operations/.
| Operation | SQL | Tables | Type |
|---|---|---|---|
| Load help text from the database | SQL-001, SQL-002 | APPLICATION_HELP_MASTER, APPLICATION_HELP_DETAIL | Read |
Failure and edge-case behavior¶
- A mistyped
BindSource/BindPropertypath fails silently —BindingUtilityswallows all reflection exceptions, so the control simply remains unbound or unchanged rather than raising an error.* - A help lookup that matches no row returns a
clsHelpTextwith empty-string properties rather thanNothingor an exception (BR-AJAX-019). - An
InfragisticsGridCustomizeroverride naming a column that does not exist on the target grid throwsApplicationException(BR-AJAX-024). - Confirming the modal popup (OK/Apply) only applies choices for the current session; only "Save as Default" persists them (BR-AJAX-037, BR-AJAX-039).
Related documentation¶
Note: Statements marked with
†are derived from dependency library documentation via the Legends CLI. Statements marked with*were inferred from code structure or contextual evidence. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
SAIF.Presentation.Web.Controls.AJAX.Infragistics111/BindingManager.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindControlAncestor.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/BindingUtility.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/HoverPanel.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/HoverHelp.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/clsHelpText.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/clsHelpTextCollection.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/ModalGridCustomizer.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/InfragisticsGridCustomizer.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/GridCustomizationPanel.vb