Table Layout Manager (PRIM_TBLO)

Table Layout Manager

Ancestors - Base Layout Manager (PRIM_DTVW) Object (PRIM_OBJT)

Details

Table Layout divides a composite control such as WebPage and Panel in to rows and columns.
 
Each control that is managed by the layout is positioned in a row and/or column. This provides an anchor for the control.
 
Some controls such as List and Panel may need to be sized to occupy some or all of the cell, and others may need to span multiple rows and columns.
 
Other controls such as Fields or Push Button may need to be aligned within the cell and to flow so that they appear after the previous control.

Example

In this example, a simple two row, one column layout is used to simply organise multiple controls.
 
The top row has a fixed height, while the second row is proportional meaning that it will occupy the remainder of the screen.
 
A label occupies all of the top row, sizing to FitBoth. The entry fields are all positioned in the second row and aligned Topleft and flowing down.
 
The Save and Close buttons are also positioned in the second row, but they are aligned BottomRight and flowing to the left.
Begin_Com Role(*EXTENDS #PRIM_WEB) Height(401) Width(761) Layoutmanager(#TableLayout1)
 
   Define_Com Class(#PRIM_VS.Style) Name(#Style1) Backgroundbrush(#Brush1) Fontsize(24) Foregroundbrush(#Brush2)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush2) Color(Theme50)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush1) Color(Theme500)
 
   Define_Com Class(#PRIM_TBLO) Name(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#TableLayout1) Height(59) Units(Pixels)
   Define_Com Class(#PRIM_TBLO.Row) Name(#Row2) Displayposition(2) Parent(#TableLayout1) Height(1.64)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem1) Alignment(TopLeft) Column(#Column1) Flow(Down) Manage(#Label1) Parent(#TableLayout1) Row(#Row1)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem2) Alignment(TopLeft) Column(#Column1) Flow(Down) Manage(#EMPNO) Parent(#TableLayout1) Row(#Row2) Sizing(None) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem3) Column(#Column1) Manage(#SURNAME) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem4) Column(#Column1) Manage(#GIVENAME) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem5) Column(#Column1) Manage(#ADDRESS1) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem6) Column(#Column1) Manage(#ADDRESS2) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem7) Column(#Column1) Manage(#ADDRESS3) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem8) Column(#Column1) Manage(#POSTCODE) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem9) Column(#Column1) Manage(#PHONEHME) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem10) Column(#Column1) Manage(#PHONEBUS) Parent(#TableLayout1) Row(#Row2) Sizing(None) Flow(Down) Alignment(TopLeft) Margintop(4) Marginleft(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem11) Column(#Column1) Manage(#Save) Parent(#TableLayout1) Row(#Row2) Sizing(None) Alignment(BottomRight) Flow(Left) Marginbottom(4) Marginright(4)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem12) Column(#Column1) Manage(#Close) Parent(#TableLayout1) Row(#Row2) Sizing(None) Alignment(BottomRight) Flow(Left) Marginbottom(4) Marginright(4)
 
   Define_Com Class(#PRIM_LABL) Name(#Label1) Caption('Heading Area') Displayposition(1) Ellipses(Word) Height(59) Left(0) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(0) Verticalalignment(Center) Width(761) Alignment(Center) Style(#Style1)
   Define_Com Class(#EMPNO.Visual) Name(#EMPNO) Componentversion(1) Displayposition(2) Height(21) Parent(#COM_OWNER) Tabposition(2) Top(63) Usepicklist(False) Width(251) Left(4)
   Define_Com Class(#SURNAME.Visual) Name(#SURNAME) Displayposition(3) Parent(#COM_OWNER) Tabposition(3) Top(88) Left(4)
   Define_Com Class(#GIVENAME.Visual) Name(#GIVENAME) Displayposition(4) Parent(#COM_OWNER) Tabposition(4) Top(113) Left(4)
   Define_Com Class(#ADDRESS1.Visual) Name(#ADDRESS1) Displayposition(5) Parent(#COM_OWNER) Tabposition(5) Top(138) Left(4)
   Define_Com Class(#ADDRESS2.Visual) Name(#ADDRESS2) Componentversion(1) Displayposition(6) Height(21) Parent(#COM_OWNER) Tabposition(6) Top(163) Usepicklist(False) Width(537) Left(4)
   Define_Com Class(#ADDRESS3.Visual) Name(#ADDRESS3) Componentversion(1) Displayposition(7) Height(21) Parent(#COM_OWNER) Tabposition(7) Top(188) Usepicklist(False) Width(537) Left(4)
   Define_Com Class(#POSTCODE.Visual) Name(#POSTCODE) Componentversion(1) Displayposition(8) Height(21) Parent(#COM_OWNER) Tabposition(8) Top(213) Usepicklist(False) Width(266) Left(4)
   Define_Com Class(#PHONEHME.Visual) Name(#PHONEHME) Componentversion(1) Displayposition(9) Height(21) Parent(#COM_OWNER) Tabposition(9) Top(238) Usepicklist(False) Width(394) Left(4)
   Define_Com Class(#PHONEBUS.Visual) Name(#PHONEBUS) Componentversion(1) Displayposition(12) Height(21) Parent(#COM_OWNER) Tabposition(10) Top(263) Usepicklist(False) Width(394) Left(4)
   Define_Com Class(#PRIM_PHBN) Name(#Save) Caption('Save') Displayposition(11) Left(593) Parent(#COM_OWNER) Tabposition(11) Top(372)
   Define_Com Class(#PRIM_PHBN) Name(#Close) Caption('Close') Displayposition(10) Left(677) Parent(#COM_OWNER) Tabposition(12) Top(372)
 
End_Com

Properties

NameDescription
ColumnsCollection of columns in the table
ComponentClassNameComponentClassName is the name of the component's class. Inherited from Object (PRIM_OBJT)
ComponentMembersComponentMembers provides access to all the member components of this component Inherited from Object (PRIM_OBJT)
ComponentPatternNameComponentPatternName is used to qualify the class of the component. Inherited from Object (PRIM_OBJT)
ComponentTagGeneric space allowing a value to be stored for the instance Inherited from Object (PRIM_OBJT)
ComponentTypeComponentType gives you access to the type information about the component Inherited from Object (PRIM_OBJT)
ComponentTypeNameComponentTypeName is the fully qualified name of the component's class. Inherited from Object (PRIM_OBJT)
DividerStyleSpecifies the runtime appearance of dividers
MarginBottomBottom margin in pixels
MarginLeftLeft margin in pixels
MarginRightRight margin in pixels
MarginTopTop margin in pixels
MaxHeightMaximum height of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
MaxWidthMaximum width of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
MinHeightMinimum height of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
MinWidthMinimum width of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)
NameName identifies the component Inherited from Object (PRIM_OBJT)
OwnerOwner owns this component Inherited from Object (PRIM_OBJT)
ParentThe component instance to which this instance is attached. The visual container for a control or the collector of a set of child instances Inherited from Object (PRIM_OBJT)
RowsCollection of rows in the table
SizingDetermines how the layout manager will behave within the composite control it manages Inherited from Base Layout Manager (PRIM_DTVW)

Events

NameDescription
CreateInstanceCreateInstance is signalled when an instance of a component is created Inherited from Base Layout Manager (PRIM_DTVW)
DestroyInstanceDestroyInstance is signalled when an instance of a component is about to be destroyed Inherited from Base Layout Manager (PRIM_DTVW)

See also

All Component Classes

Technical Reference

Febuary 18 V14SP2