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

Name

Description

Columns

Collection of columns in the table

ComponentClassName

ComponentClassName is the name of the component's class. Inherited from Object (PRIM_OBJT)

ComponentMembers

ComponentMembers provides access to all the member components of this component Inherited from Object (PRIM_OBJT)

ComponentPatternName

ComponentPatternName is used to qualify the class of the component. Inherited from Object (PRIM_OBJT)

ComponentTag

Generic space allowing a value to be stored for the instance Inherited from Object (PRIM_OBJT)

ComponentType

ComponentType gives you access to the type information about the component Inherited from Object (PRIM_OBJT)

ComponentTypeName

ComponentTypeName is the fully qualified name of the component's class. Inherited from Object (PRIM_OBJT)

DividerStyle

Specifies the runtime appearance of dividers

MarginBottom

Bottom margin in pixels

MarginLeft

Left margin in pixels

MarginRight

Right margin in pixels

MarginTop

Top margin in pixels

MaxHeight

Maximum height of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)

MaxWidth

Maximum width of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)

MinHeight

Minimum height of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)

MinWidth

Minimum width of the control when the container is resized Inherited from Base Layout Manager (PRIM_DTVW)

Name

Name identifies the component Inherited from Object (PRIM_OBJT)

Owner

Owner owns this component Inherited from Object (PRIM_OBJT)

Parent

The 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)

Rows

Collection of rows in the table

Sizing

Determines how the layout manager will behave within the composite control it manages Inherited from Base Layout Manager (PRIM_DTVW)

Events

Name

Description

CreateInstance

CreateInstance is signalled when an instance of a component is created Inherited from Base Layout Manager (PRIM_DTVW)

DestroyInstance

DestroyInstance 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