Matching Snap in Instance List Browser
BEGIN_COM ROLE(*EXTENDS #VF_AC012) HEIGHT(218) HINT(*MTXTDF_INST1) LAYOUTMANAGER(#ATTACHMENT_MANAGER) WIDTH(504)
* Basic attachment layout manager
DEFINE_COM CLASS(#PRIM_ATLM) NAME(#ATTACHMENT_MANAGER)
* A grid display VID1,2 and 3 alpha columns and 3 numeric columns
DEFINE_COM CLASS(#PRIM_GRID) NAME(#grid) COLUMNBUTTONHEIGHT(18) DISPLAYPOSITION(1) HEIGHT(218) HINT(*MTXTDF_INST1) LEFT(0) PARENT(#COM_OWNER) SELECTIONSTYLE(Multiple) SHOWLINES(False) SHOWSELECTION(True) SHOWSORTARROW(True) TABPOSITION(1) TABSTOP(False) TOP(0) WIDTH(504)
DEFINE_COM CLASS(#PRIM_ATLI) NAME(#GRID_ATTACHMENT_ITEM) ATTACHMENT(Center) MANAGE(#grid) PARENT(#ATTACHMENT_MANAGER)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_1) CAPTION('VisualID1') CAPTIONTYPE(Caption) DISPLAYPOSITION(1) PARENT(#grid) SORTONCLICK(True) SOURCE(#STD_TEXTS)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_2) CAPTION('VisualID2') CAPTIONTYPE(Caption) DISPLAYPOSITION(2) PARENT(#grid) SORTONCLICK(True) SOURCE(#STD_TEXT)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_3) CAPTION('ACol-BILL') CAPTIONTYPE(Caption) DISPLAYPOSITION(3) PARENT(#grid) SORTONCLICK(True) SOURCE(#VF_ELXA01)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_4) CAPTION('ACol-CUSTNO') CAPTIONTYPE(Caption) DISPLAYPOSITION(4) PARENT(#grid) SORTONCLICK(True) SOURCE(#VF_ELXA02)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_5) CAPTION('ACol-A16') CAPTIONTYPE(Caption) DISPLAYPOSITION(5) PARENT(#grid) SORTONCLICK(True) SOURCE(#VF_ELXA03)
DEFINE_COM CLASS(#PRiM_GDCL) NAME(#GDCL_6) CAPTION('NCol-BILL') CAPTIONTYPE(Caption) DISPLAYPOSITION(6) PARENT(#grid) SORTONCLICK(True) SOURCE(#VF_ELXNK1)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_7) CAPTION('NCol-CUSTNUM') CAPTIONTYPE(Caption) DISPLAYPOSITION(7) PARENT(#grid) SORTONCLICK(True) SOURCE(#VF_ELXNK2)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_8) CAPTION('NCol-N16') CAPTIONTYPE(Caption) DISPLAYPOSITION(8) PARENT(#grid) SORTONCLICK(True) SOURCE(#VF_ELXNK3)
* -----------------------------------------------
* Redefine the standard uClearInstanceList method
* -----------------------------------------------
MthRoutine uClearInstanceList Options(*Redefine)
* Clear the visible sections grid of all entries
Clr_List #Grid
EndRoutine
* ------------------------------------------
* Redefine the standard uAddListEntry method
* ------------------------------------------
Mthroutine Name(uAddListEntry) Options(*Redefine)
* Set the visual identifiers
#STD_TEXTS := #VisualID1
#STD_TEXT := #VisualID2
* Get the additional alphanumeric columns.
* Only 3 are visualized, but all 16 could be shown if required
#VF_ELXA01 := #AvListManager.Acolumn<BILL>
#VF_ELXA02 := #AvListManager.Acolumn<CUSTNO>
#VF_ELXA03 := #AvListManager.Acolumn<A16>
* Get the additional numeric columns.
* Only 3 are visualized, but all 16 could be shown if required
#VF_ELXNK1 := #AvListManager.Ncolumn<BILL>
#VF_ELXNK2 := #AvListManager.Ncolumn<CUSTNUM>
#VF_ELXNK3 := #AvListManager.Ncolumn<N16>
* Add the entry to the visible grid
Add_Entry #GRID
* Finished
Endroutine
* -----------------------------------------
* Handle selection of a section in the grid
* -----------------------------------------
EVTROUTINE HANDLING(#Grid.ItemGotSelection) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS)
* Appropriate code needs to be added
ENDROUTINE
* -------------------------------------------
* Handle unselection of a section in the grid
* -------------------------------------------
EVTROUTINE HANDLING(#Grid.ItemLostSelection) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS)
* Appropriate code needs to be added
ENDROUTINE
* -------------------------------------
* Handle focus of a section in the grid
* -------------------------------------
EVTROUTINE HANDLING(#Grid.ItemGotFocus) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS)
* Appropriate code needs to be added
ENDROUTINE
* ---------------------------------------------
* Handle loss of focus of a section in the grid
* ---------------------------------------------
EVTROUTINE HANDLING(#Grid.ItemLostFocus) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS)
* Appropriate code needs to be added
ENDROUTINE
EVTROUTINE HANDLING(#Grid.ItemGotFocusAccept #Grid.ItemGotSelectionAccept) Accept(#ACCEPT) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS)
* Appropriate code needs to be added
Set Com(#ACCEPT) Value(TRUE)
ENDROUTINE
END_COM