Skip to content

SAIF.Presentation.Web.Controls.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/. This library has no business operations in the BOF sense (no AppManager, no OnWrite/OnRetrieve, no transaction boundaries) — the "operations" below are control lifecycle behaviors triggered by the ASP.NET page lifecycle or explicit DataBind() calls from a consuming page.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules
SAIFWarp async-refresh initialization Register the focus-restoration script and wire the panel's initialization client-side event. ASP.NET Init event of SAIFWarp. ControlsFocus property, Page context. Registered client script blocks; ClientSideEvents wiring. —
SAIFWarp pre-render error/init script registration Wire the async-refresh error handler and progress-indicator init script before render. ASP.NET PreRender event of SAIFWarp. Page context. Registered startup/client scripts; ClientSideEvents.Error wiring. BR-4
SAIFWarp child-control setup and hidden-field rendering Create and keep current the hidden field used to carry the focus target across an async postback. ASP.NET control-creation and render lifecycle phases. FocusControlID property. Hidden input control {ID}_FOCUS added to Controls and rendered. —
Cascading dropdown data bind Bind Column1/Column2 value lists from data sources and register the client-side cascading filter script. Explicit DataBind() call from a consuming page/control, or ASP.NET data-binding cascade. Column1, Column2, List1, List2, List1Code/List1Display/List2Code/List2Display/List2Key. Populated Column1.ValueList/Column2.ValueList; registered client script block "DD"; populated l1/l2 collections. BR-5
Cascading dropdown JavaScript generation Generate the client-side filter function that restricts Column2's value list based on Column1's selected value. Called from within DataBind (see above). Populated l1/l2 collections, Column1.Key, Column2.Key. A JavaScript string registered as the "DD" client script block. BR-5
SAIFWebDateTimeEdit null-date suppression Blank sentinel "no date" values when the field gains focus. ASP.NET Init event of SAIFWebDateTimeEdit. None beyond the control's own rendered text. Registered client script SDTE_Focus; an onfocus attribute on the control. BR-1
SAIFWebMaskEdit value accessors Return cleaned phone/tax-ID values instead of raw mask text. Property read by consuming code (e.g., a page reading the posted-back value). The control's underlying RawText/Text. A cleaned string value. BR-2, BR-3

Process flow diagram

The following diagram visualizes the primary cascading-dropdown operational flow, the most complex process in this library.

flowchart TD
    Start([Consuming page calls DataBind]) --> Bind[Bind Column1/Column2 ValueList from List1/List2]
    Bind --> Reflect[Project List1/List2 items into ListItem via reflection]
    Reflect --> Gen[GenerateJavaScript builds BeforeEdit function]
    Gen --> Register[RegisterClientScriptBlock 'DD']
    Register --> Focus{User edits Column2 cell}
    Focus -->|BeforeEnterEditModeHandler fires| Filter[Filter col.ValueList by matching l1/l2 key]
    Filter --> End([Filtered options shown in grid cell])

Failure and edge-case behavior

  • clsDropDownController.DataBind: if no TypeConverter to String is found for a List1Code/List1Display/List2Code/List2Display/List2Key property, the corresponding ListItem field is silently left blank rather than raising an exception.
  • SAIFWarp pre-render: any async-refresh error with flags > 1 redirects the entire page to /weberror/processError.aspx (see BR-4).
  • SAIFWebMaskEdit.PhoneValue: catches System.Data.StrongTypingException and returns an empty string on that specific error path.

Sources

  • SAIF.Presentation.Web.Controls.Infragistics103\SAIFWarp.vb
  • SAIF.Presentation.Web.Controls.Infragistics103\clsDropDownController.vb
  • SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebDateTimeEdit.vb
  • SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebMaskEdit.vb