Skip to content

SAIF.Presentation.Web.Controls.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
Cascade grid drop-down value lists Bind a parent and child UltraWebGrid column's value lists and register the client script that filters the child list from the parent's selected value. Consuming page calls DataBind() on clsDropDownController (directly or via page-level DataBind). Column1, Column2, List1, List2, List1Code, List1Display, List2Code, List2Display, List2Key Bound ValueList on both grid columns; populated l1/l2; registered client script block DD BR-CTL-003, BR-CTL-004, BR-CTL-005
Generate the cascade script Build the client-side BeforeEdit<Column2Key> function that replaces the child column's value list based on the parent cell value. Called from DataBind (as part of the cascade operation); also callable directly by consumers as a public method. l1, l2, Column1.Key, Column2.Key A String containing a complete <script> block defining BeforeEdit<Column2Key>(gridName, cellId) BR-CTL-001, BR-CTL-002, BR-CTL-003, BR-CTL-006
Restore focus and handle errors after an async refresh Track the control that should regain focus after a WebAsyncRefreshPanel refresh and surface asynchronous callback failures through a shared error page. ASP.NET control lifecycle events Init, PreRender, CreateChildControls, RenderContents on the consuming page. ControlsFocus, FocusControlID, DesignMode Hidden field <ID>_FOCUS; registered client scripts WARP_FOCUS_CONTROL, WARP_Init, SAIFWarp_Error; assigned ClientSideEvents handlers BR-CTL-007, BR-CTL-008, BR-CTL-009, BR-CTL-010, BR-CTL-011
Suppress sentinel dates on focus Clear a date editor's value when it displays a sentinel min/max date so the user can enter a real date. Control Init event registers the script; the browser onfocus event on the rendered input then runs it. The control's current displayed text Registered script block SDTE_Focus; an onfocus attribute on the rendered element BR-CTL-012, BR-CTL-013
Normalize masked phone and tax-ID values Return a masked phone number or tax ID as a clean data value instead of the mask's literal formatting characters. Consuming code-behind reads PhoneValue or TaxIdValue. Inherited RawText and Text from WebMaskEdit Normalized String BR-CTL-014, BR-CTL-015

Process flow diagram

The following diagram visualizes the primary operational flow across operations.

flowchart TD
    Start([Consuming page renders controls]) --> Bind["clsDropDownController.DataBind()"]
    Bind --> Gen["GenerateJavaScript()<br>builds BeforeEdit script"]
    Gen --> Register["Register script blocks<br>via Page.ClientScript"]
    Register --> Focus["Browser: onfocus /<br>RefreshComplete handlers"]
    Focus --> Decision{"Sentinel date<br>or async error?"}
    Decision -->|Sentinel date| ClearDate(["SAIFWebDateTimeEdit clears value"])
    Decision -->|Async error, flags > 1| Redirect(["Browser redirects to /weberror/processError.aspx"])
    Decision -->|Neither| ReadValues["Code-behind reads<br>PhoneValue / TaxIdValue"]

Failure and edge-case behavior

  • clsDropDownController.DataBind: an unset Column1 or Column2 raises a NullReferenceException — no guard exists.
  • clsDropDownController.GenerateJavaScript: an l2 entry with a Nothing key raises a NullReferenceException on .ToUpper — no guard exists.*
  • SAIFWarp: focus-restoration and error-notification failures in the browser are swallowed by try/catch blocks so the page continues to function.
  • SAIFWebMaskEdit.PhoneValue: only System.Data.StrongTypingException is caught; other exception types propagate.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • SAIF.Presentation.Web.Controls.Infragistics111/clsDropDownController.vb
  • SAIF.Presentation.Web.Controls.Infragistics111/SAIFWarp.vb
  • SAIF.Presentation.Web.Controls.Infragistics111/SAIFWebDateTimeEdit.vb
  • SAIF.Presentation.Web.Controls.Infragistics111/SAIFWebMaskEdit.vb