peLayoutType - cWebBaseContainer

Sets the layout type to use for this container: grid or flow

Type: Property (Web Property)

Access: Read/Write

Data Type: Integer

Parameters: None

 { WebProperty=Client }
 Property Integer peLayoutType

Web Property Read Access: WebGet peLayoutType to IntegerVariable
Web Property Write Access: WebSet peLayoutType to IntegerVariable/Value

Read Access: Get peLayoutType to IntegerVariable
Write Access: Set peLayoutType to IntegerVariable/Value


Sets the layout type to use for this container.

Valid values are:

ltFlowFlow layout
ltGridGrid layout
ltInheritInherit (default)

ltFlow sets the container to use "Flow Layout", where controls position themselves by naturally flowing as they are represented in the code. The container is divided in equal width columns by using piColumnCount. Controls position themselves using piColumnIndex and size themselves by assigning their piColumnSpan. If a row is full or its index is already occupied, the control will be pushed to the next row.

ltGrid sets the container to use "Grid Layout" using CSS Grid technology. Here controls position themselves on a Grid, which can be defined in the container.
piColumnCount still determines the amount of columns displayed, but controls can now also be assigned to a specific row. Setting peLayoutType to ltGrid grants access
to properties like piRowCount, psRowHeights, piDefaultRowHeight, psColumnWidths and psDefaultColumnWidth. All these properties are used to set up your grid, controls then position themselves on this grid using 2 additional properties: piRowIndex and piRowSpan.

Note that CSS Grid is 1-based, but the DataFlex Grid Layout implementation is 0-based.

For both of these layout types, the visual designer (F7) helps you in both setting up your container and positioning your controls.

When set to ltInherit (default), the container will look at its parent containers to determine the peLayoutType. If no specific layout type was found, it will continue to bubble up until it reaches the top level container where it will default to ltFlow if nothing was set.

About Web Properties
Each web property maintains two values: The regular property value is set during object creation and should not be changed during the lifetime of that object. To access that value, use the standard property Get and Set syntax.
The web property value is the local value stored at each client. This is synchronized to the client's local value whenever a server call is being processed. To access the web property value, use the WebGet and WebSet syntax above instead of the standard Get and Set syntax.