Skip to content

clsDropDownController.ListItem

ListItem is a public nested class declared inside clsDropDownController (Public Class ListItem). It is a plain data-transfer object used to stage reflection-extracted values from List1/List2 data-source items during DataBind, before the cascading client-side filter script is generated from those staged values (BR-5).

Purpose

  • Hold a single data-source item's code/value, display text, and (for List2 items only) linking key, extracted via reflection using the property names configured on the owning clsDropDownController (List1Code/List1Display/List2Code/List2Display/List2Key).
  • Serve as the element type of the owning control's l1 and l2 ArrayList staging collections, consumed by GenerateJavaScript to build the BeforeEdit{Column2.Key} client-side filter function.

Context

  • Namespace: SAIF.Presentation.Web.Controls.V2
  • Declaring type: clsDropDownController (public nested class)
  • Assembly/package: SAIF.BOF.Presentation.Web.Infragistics103 (source bundled into this package)*

Public members

Member Signature Purpose
desc Public desc As String Display text extracted via reflection using List1Display/List2Display, shown in the client-side dropdown options.
id Public id As String Code/value extracted via reflection using List1Code/List2Code. For l1 items, this is the case label matched against the current row's Column1 value; for l2 items, this is the value half of each vListFilter entry.
key Public key As String Linking key extracted via reflection using List2Key (only populated for List2-derived ListItems). Compared against a List1-derived ListItem.id (item2.key.ToUpper = item1.id.ToUpper) to decide which List2 entries belong under a given List1 value (BR-5).

Behavioral notes

  • All three fields are public instance fields (not properties) with no accessors or validation.
  • If no TypeConverter to String is found for the corresponding reflected property on the source data item, the field is silently left as its default (blank) value rather than raising an exception.
  • key is left at its default (blank) value for ListItem instances created from List1 items, since only the List2 iteration in DataBind sets it.

Constraints and usage notes

  • Not intended for direct use by consuming pages; instantiated and populated only internally by clsDropDownController.DataBind.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Presentation.Web.Controls.Infragistics103\clsDropDownController.vb