Table Divider Column (PRIM_TBLO.ColumnDivider)

Divider allowing columns to be resized at runtime

Ancestors - Table Vertical Division (PRIM_TBLO.VerticalDivision) Table Division (PRIM_TBLO.Division) Object (PRIM_OBJT)

Details

A Divider Column allows columns to be resized at runtime by the user.
 
Dividers follow the same rules as columns in terms of Width and Units, and are also counted when evaluating ColumnSpan.
 
The StartRow and EndRow properties allow a divider to only work on a portion of the height of the container. This helps mitigate the need to spilt the UI in to different areas to avoid the divider spreading in to a different area.
 
There is no practical limit to the number of dividers that a page can have.
 
Divider style is governed by the Table Layout itself rather than the individual divider.

Example

This example shows how multiple dividers can be used to quickly split an page in to different resizable areas.
 
Note how the two column dividers both start on the second row so that they don't compromise the header area.
Begin_Com Role(*EXTENDS #PRIM_WEB) Height(537) Width(1169) Layoutmanager(#TableLayout1)
 
   Define_Com Class(#PRIM_VS.Style) Name(#Style1) Backgroundbrush(#Brush1)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush1) Color(Theme300)
 
   Define_Com Class(#PRIM_VS.Style) Name(#Style2) Backgroundbrush(#Brush2)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush2) Color(Theme500)
 
   Define_Com Class(#PRIM_VS.Style) Name(#Style3) Backgroundbrush(#Brush3)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush3) Color(Theme700)
 
   Define_Com Class(#PRIM_VS.Style) Name(#Style4) Backgroundbrush(#Brush4)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush4) Color(Theme600)
 
   Define_Com Class(#PRIM_VS.Style) Name(#Style5) Backgroundbrush(#Brush5)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush5) Color(Theme400)
 
   Define_Com Class(#PRIM_VS.Style) Name(#Style6) Backgroundbrush(#Brush6)
   Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush6) Color(Theme300)
 
   Define_Com Class(#PRIM_TBLO) Name(#TableLayout1) Dividerstyle(Gap)
   Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#TableLayout1) Units(Pixels) Width(140)
   Define_Com Class(#PRIM_TBLO.Column) Name(#Column2) Displayposition(3) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Column) Name(#Column3) Displayposition(5) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.ColumnDivider) Name(#ColumnDivider2) Displayposition(2) Parent(#TableLayout1) Width(4) Startrow(#Row2)
   Define_Com Class(#PRIM_TBLO.RowDivider) Name(#RowDivider1) Displayposition(2) Height(4) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem1) Alignment(TopLeft) Column(#Column1) Flow(Down) Manage(#Label1) Parent(#TableLayout1) Row(#Row1) Columnspan(5)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem2) Alignment(TopLeft) Column(#Column1) Flow(Down) Manage(#Label2) Parent(#TableLayout1) Row(#Row2)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem3) Alignment(TopLeft) Column(#Column2) Flow(Down) Manage(#Label3) Parent(#TableLayout1) Row(#Row2)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem4) Alignment(TopLeft) Column(#Column3) Flow(Down) Manage(#Label4) Parent(#TableLayout1) Row(#Row2)
   Define_Com Class(#PRIM_TBLO.ColumnDivider) Name(#ColumnDivider1) Displayposition(4) Parent(#TableLayout1) Width(4) Startrow(#Row2)
   Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#TableLayout1) Height(140) Units(Pixels)
   Define_Com Class(#PRIM_TBLO.Row) Name(#Row2) Displayposition(3) Parent(#TableLayout1) Height(1.51)
 
   Define_Com Class(#PRIM_LABL) Name(#Label1) Caption('Heading') Displayposition(1) Ellipses(Word) Height(140) Left(0) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(0) Verticalalignment(Center) Width(1169) Alignment(Center) Style(#Style4)
   Define_Com Class(#PRIM_LABL) Name(#Label2) Caption('Left') Displayposition(2) Ellipses(Word) Height(393) Left(0) Parent(#COM_OWNER) Tabposition(2) Tabstop(False) Top(144) Verticalalignment(Center) Width(140) Style(#Style5) Alignment(Center)
   Define_Com Class(#PRIM_LABL) Name(#Label3) Displayposition(3) Ellipses(Word) Height(393) Left(144) Parent(#COM_OWNER) Tabposition(3) Tabstop(False) Top(144) Verticalalignment(Center) Width(511) Style(#Style6) Alignment(Center) Caption('Body Left')
   Define_Com Class(#PRIM_LABL) Name(#Label4) Caption('Body Right') Displayposition(4) Ellipses(Word) Height(393) Left(659) Parent(#COM_OWNER) Tabposition(4) Tabstop(False) Top(144) Verticalalignment(Center) Width(510) Style(#Style6) Alignment(Center)
 
End_Com

Properties

NameDescription
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)
DisplayPositionRelative position of the column
EndRowSpecifies on which row the divider will stop being accessible
NameName identifies the component Inherited from Object (PRIM_OBJT)
OwnerOwner owns this component Inherited from Object (PRIM_OBJT)
ParentReference to the table containing the divider
StartRowSpecifies on which row the divider will become accessible
WidthWidth of the divider in pixels

Events

NameDescription
CreateInstanceCreateInstance is signalled when an instance of a component is created Inherited from Table Divider Column (PRIM_TBLO.ColumnDivider)
DestroyInstanceDestroyInstance is signalled when an instance of a component is about to be destroyed Inherited from Table Divider Column (PRIM_TBLO.ColumnDivider)

See also

All Component Classes

Technical Reference

LANSA Version 15, April 2020