Skip to content

Dual binder registration

This operation registers a binder that displays/binds a control's value against one object/property pair while validating against a separate object/property pair, for a fixed set of supported control kinds.

Field Value
Operation ID OP-BIND-006
Trigger Page code calling clsObjectBindManager.AddDualBinder(control, controlType, bindObject, bindProperty, validationObject, validationProperty, [args], [bindType])
Inputs Control instance; CustomBindingControls enum selecting binder type; bind object/property; validation object/property; optional type-specific args
Outputs The appropriate binder instance configured for dual binding, appended via AddBinder()
Primary components clsObjectBindManager.AddDualBinder, clsObjectBinderBase.SetDualBinding
Entry point SAIF.Presentation.Web.Binding.Infragistics103\clsObjectBindManager.vb

Steps

  1. Select Case on inControlType (CustomBindingControls) constructs one of: clsDDLBinder, clsTextBoxBinder, clsWebTextEditBinder, clsSAIFWebMaskEditBinder (optionally seeded from SAIFMaskEditBindingArgs), clsWebDateTimeEditBinder (optionally applying WebDateTimeEditBindingArgs.IsTargetString), or clsWebMaskEditBinder (optionally applying WebMaskEditBindingArgs.TargetObejctDataType).
  2. Set FormControl, BindType, then call SetDualBinding(bindObject, bindProperty, validationObject, validationProperty) — sets m_DualBinding = True and stores both source/property pairs.
  3. Call AddBinder() (same registration logic as the standard Add() family — see Register and initialize a control binding).

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([AddDualBinder called]) --> SelectType{CustomBindingControls value}
    SelectType -->|DropDownList| DDL[Construct clsDDLBinder]
    SelectType -->|TextBox| TB[Construct clsTextBoxBinder]
    SelectType -->|WebTextEdit| WTE[Construct clsWebTextEditBinder]
    SelectType -->|SAIFWebMaskEdit| SME[Construct clsSAIFWebMaskEditBinder]
    SelectType -->|WebDateTimeEdit| WDTE[Construct clsWebDateTimeEditBinder]
    SelectType -->|WebMaskEdit| WME[Construct clsWebMaskEditBinder]
    DDL --> SetFC[Set FormControl, BindType]
    TB --> SetFC
    WTE --> SetFC
    SME --> SetFC
    WDTE --> SetFC
    WME --> SetFC
    SetFC --> Dual[SetDualBinding: store bind and validation pairs]
    Dual --> AddBinder[AddBinder: register in m_Bindings]
    AddBinder --> EndOk([Dual binder registered])

Failure and edge-case behavior

  • Only the control kinds enumerated in CustomBindingControls are supported; other control types are not reachable through this operation.*

Sources

  • SAIF.Presentation.Web.Binding.Infragistics103\clsObjectBindManager.vb
  • SAIF.Presentation.Web.Binding.Infragistics103\Enums.vb