Skip to content

clsDropDownController.ListItem

clsDropDownController.ListItem is a public nested data-holder class used exclusively by clsDropDownController to carry a single flattened code/description/parent-key triple. DataBind populates one ListItem per source-collection entry into the l1/l2 ArrayLists, and GenerateJavaScript reads those fields to emit the switch/case client script that drives the grid drop-down cascade (BR-CTL-005).

Purpose

  • Hold the string-converted value (id), display text (desc), and — for child list entries — the parent grouping key (key) extracted from a consumer's source item by clsDropDownController.DataBind.

Context

  • Namespace: SAIF.Presentation.Web.Controls.V2 (nested within clsDropDownController)
  • Assembly/package: SAIF.Presentation.Web.Controls.Infragistics111 (packaged as source into SAIF.BOF.Presentation.Web.Infragistics111)
  • Base class: none (implicitly System.Object)

Public members

Member Signature Purpose
desc Public desc As String The display text projected from the source item's List1Display/List2Display property; emitted as the visible option text in the generated vListFilter entries.
id Public id As String The value/code projected from the source item's List1Code/List2Code property; used both as the switch case label (for l1 entries) and as the stored option value (for l2 entries).
key Public key As String For child (l2) entries only, the parent code projected from the source item's List2Key property; matched case-insensitively against the parent id to decide which child options belong under each parent case (BR-CTL-002).

Behavioral notes

  • key is left Nothing on l1 entries (it is only populated during the List2 projection loop), and on any l2 entry whose source item lacks a string-convertible List2Key property; a Nothing key causes a NullReferenceException when GenerateJavaScript calls .ToUpper on it.*
  • id/desc remain Nothing for a source item whose corresponding code/display property is not string-convertible, since the projection loop in DataBind skips assignment in that case (BR-CTL-005).

Constraints and usage notes

  • Instances are created and populated only inside clsDropDownController.DataBind; consumers do not construct ListItem directly in normal use.*

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