Retrieve all help text entries for an application¶
clsHelpTextCollection.GetHelpTexts is the public shared factory method that retrieves every help-text entry for a given application code as a clsHelpTextCollection of read-only clsHelpText children — for example, to prefetch/cache multiple help entries for HoverHelp controls on a page.
| Field | Value |
|---|---|
| Operation ID | OP-AJAX-005 |
| Trigger | Consuming code calls clsHelpTextCollection.GetHelpTexts(inDataportal, inApplicationCode) |
| Inputs | IDataPortalInfo, application code |
| Outputs | Populated clsHelpTextCollection |
| Primary components | clsHelpTextCollection.GetHelpTexts, clsHelpTextCollection.Criteria, clsHelpTextCollection.BeforeRetrieve, clsHelpTextCollection.AfterRetrieve |
| Entry point | SAIF.Presentation.Web.Controls.AJAX.Infragistics103\clsHelpTextCollection.vb |
Steps¶
- Builds
Criteria(inDataportal, inApplicationCode)and callsinDataportal.DataAccessLayer.RetrieveObject(criteria), which invokes the BOF data-portal pipeline described in the next step. BeforeRetrievesetsSQLStatement = MyCriteria.RetrieveSQLwith a single bind parameterApplicationCode(max length 5) — executing SQL-HELP-002 against APPLICATION_HELP_MASTER and APPLICATION_HELP_DETAIL (returns multiple rows).AfterRetrievecasts the result toIDataReaderand iterates rows; for each row it constructs a newclsHelpText(MyCriteria.DataPortalInfo), callsHelpText.Load(dataPortalInfo, Reader)(which calls the child'sFill, builds its ownCriteria, and marks it old), and adds it to the collection viaMyBase.Add.- The collection is configured
AllowEdit/AllowRemove/AllowSort/AllowFind = True,Managed = Truein the constructor — standard BOF collection semantics. - No create/update/delete SQL is supported for this collection (same
InvalidSQLPropertystub-throw pattern asclsHelpText).
No business rules are enforced by this operation — collection-level AfterRetrieve performs no validation; Contains() overloads provide in-memory lookup only.
Process flow¶
The following diagram visualizes the retrieval sequence.
flowchart TD
Start([Consuming code calls GetHelpTexts]) --> Criteria[Construct Criteria with ApplicationCode]
Criteria --> Retrieve[DataAccessLayer.RetrieveObject]
Retrieve --> Before[BeforeRetrieve binds ApplicationCode, sets RetrieveSQL]
Before --> Execute[Execute SQL-HELP-002 against Oracle*]
Execute --> Loop[AfterRetrieve iterates IDataReader rows]
Loop --> Child[Construct clsHelpText child, Load and MarkOld]
Child --> Add[Add child to collection]
Add --> Loop
Loop --> Return([Return populated clsHelpTextCollection])
Failure and edge-case behavior¶
- No matching rows for the given application code: the loop over
IDataReaderproduces zero children; the returned collection is empty rather than raising an error. - Any attempt to
Save()/Delete()the collection or its children raisesApplicationException(BOC.Messages.InvalidSQLProperty), since no create/update/delete SQL exists.
Related documentation¶
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.AJAX.Infragistics103\clsHelpTextCollection.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics103\clsHelpText.vb