List Cell Interface (PRIM_LIST.IListCellDesign)

Interface allowing a List to communicate with a reusable part being used as a cell

Ancestors - None

Details

The List Cell Interface is used when a reusable part is embedded in a list as a column.
 
The interface provides methods that the List can call to indicate when specific list actions have occurred.
 
The *ListFields parameter included in the BEGIN_COM allows field values to be mapped in and out of the reusable part. Each field used becomes a column in the underlying data list.
 
An instance of the reusable part is created for each entry added to the list.
 
Embedding reusable parts in a list provides a far more flexible approach to the presentation of data.

Example

In this example, a simple part displays an address as a single cell rather than using 4 separate columns.
Begin_Com Role(*EXTENDS #PRIM_PANL *implements #prim_list.IListCellDesign *ListFields #ListFields) Displayposition(1) Height(68) Left(0) Tabposition(1) Top(0) Width(217) Layoutmanager(#TableLayout)
 
   Group_By Name(#ListFields) Fields(#Address1 #Address2 #address3 #postcode)
 
   Define_Com Class(#PRIM_TBLO) Name(#TableLayout)
   Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#TableLayout)
   Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#TableLayout)
   Define_Com Class(#PRIM_LABL) Name(#gAddress) Caption('') Displayposition(1) Ellipses(End) Left(0) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(0) Height(68) Width(217) Verticalalignment(Center) Marginleft(2) Marginright(2)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem) Alignment(TopLeft) Column(#Column1) Flow(Down) Manage(#gAddress) Parent(#TableLayout) Row(#Row1) Rowspan(3)
 
   Mthroutine Name(OnAdd) Options(*redefine)
 
      #gAddress := ("&1, &2, &3, &4").Substitute( #Address1 #Address2 #Address3 #PostCode.AsString )
 
   Endroutine
 
End_Com

Events

Name Description
CellChanged Fire when the user makes a change to the cell content

Methods

Name Description
OnAdd Executed when an item is added
ListItem
OnCellGotFocus Executed when the reusable part becomes the focus cell
ListItem
OnCellLostFocus Executed when the reusable part loses focus
ListItem
OnDelete Executed when an item is deleted
ListItem
OnDropDownValueChanged Executed when dropdown value is changed
DropItem, Caption, Image
OnItemGotFocus Executed when the item becomes the focus item
ListItem
OnItemGotReference Executed whenever a related reference is assigned to the item via the RelatedReference property
ListItem
OnItemGotSelection Executed when the item becomes selected
ListItem
OnItemLostFocus Executed when focus is assigned to another item
ListItem
OnItemLostSelection Executed when the item loses selection
ListItem
OnItemRealizing Executed whenever the design enters the on screen portion of the control
ListItem
OnUpdate Executed when the associated list entry is updated
ListItem

See also

All Component Classes

Technical Reference

LANSA Version 15, April 2020