Skip to content

Grid

Grid

The Grid component arranges its children into a fixed grid of rows and columns. Unlike a Flexbox, where children are sized by their own properties and the container only controls flow, a Grid divides its available area into uniformly-sized cells and places one component per cell. Cells can also be merged to span multiple columns or rows, and split back into the original tracks. This makes Grid the right choice for HMI layouts that need a structured, tabular alignment such as machine dashboards, KPI tiles, or label/value pairs.

Use the Panel when you need a simple background container, Flexbox for free-flow horizontal or vertical stacking, and Grid when you need a strict two-dimensional alignment.

Drag the Grid component from the palette onto the canvas. The grid is created with a default layout of 2 columns × 2 rows and 4 empty cells, separated by a small gap. Resize the grid like any other component — the cells stretch proportionally.

A Grid only accepts cells as direct children; you cannot drop arbitrary components onto the grid itself. Each cell is itself a container that accepts any HMI component.

Click on an empty cell in the canvas, or expand the grid in the Layers panel and pick a cell from there. Cells are not draggable and cannot be moved or resized directly — their geometry is governed by the parent grid’s columns, rows, and the cell’s own spans.

With a cell selected, drag any component from the palette onto it, or drop a component onto the cell directly. To re-arrange components later, move them between cells in the Layers panel.

When a cell is selected, the Configuration section of the properties panel shows a Cell Actions block with six buttons:

  • Merge Left / Merge Right - extend the current cell into the neighboring cell on that side. The neighbor is absorbed and its contents are removed.
  • Merge Up / Merge Down - same as above, vertically.
  • Split H - splits a horizontally-merged cell back into its original columns. Available only when the cell already spans more than one column.
  • Split V - splits a vertically-merged cell back into its original rows. Available only when the cell already spans more than one row.

Merge buttons are disabled when there is no neighbor available in that direction (edge of grid, or the neighbor itself spans into another area). When a cell spans more than one column or row, a small Span: X cols x Y rows indicator is shown below the action buttons.

Columns - the number of columns the grid divides itself into. Valid range is 120. Changing this value adjusts the cell layout immediately.

Rows - the number of rows the grid divides itself into. Valid range is 120. Changing this value adjusts the cell layout immediately.

Gap (px) - the spacing in pixels between cells, both horizontally and vertically. Valid range is 0100.

The style properties define the look of the grid container itself. Cell appearance is configured separately on each cell — see Cell properties below.

Background color - the background color of the grid container, visible in the gap between cells. A hex value can be input in one the formats:

  • #RRGGBB
  • #RRGGBBAA
  • #RGB
  • #RGBA

Alternatively, the integrated color picker can be used to visually pick a color:

Color picker

Border color - the color of the grid’s outer border.

Border width - controls the width of the outer border on each side. Values can be manually input as:

  • <top>px <right>px <bottom>px <left>px
  • <top_bottom>px <left_right>px
  • <all>px

Alternatively, the built-in border editor can be used for a visual input:

Border width

The position section contains properties which affect the position and size of the grid. These can be changed by dragging and resizing the component with the mouse, or directly, by manually entering the values:

Left - distance from the left edge in pixels

Top - distance from the top edge in pixels

Width - component width in pixels

Height - component height in pixels

The placement section controls the placement and stretching of the grid:

Placement - the placement of the component:

  • Absolute - the component will have fixed coordinates and size
  • Stretch horizontal - uses fixed vertical position and stretches the contents horizontally
  • Stretch vertical - uses fixed horizontal position and stretches the contents vertically
  • Stretch - stretches the contents both horizontally and vertically
  • Pin left - pins the contents to the left of the page, while keeping its size
  • Pin middle - pins the contents to the middle of the page, while keeping its size
  • Pin right - pins the contents to the right of the page, while keeping its size
  • Pin top - pins the contents to the top of the page, while keeping its size
  • Pin bottom - pins the contents to the bottom of the page, while keeping its size

Offset left - the left offset when using any placement except Absolute

Offset top - the top offset when using any placement except Absolute

Offset bottom - the bottom offset when using any placement except Absolute

Offset right - the right offset when using any placement except Absolute

Each cell can be configured individually by selecting it in the canvas or in the Layers panel.

Cell Actions - the merge and split controls described under Merging and splitting cells.

Background color - the background color of the cell. A hex value can be input in one the formats:

  • #RRGGBB
  • #RRGGBBAA
  • #RGB
  • #RGBA

Alternatively, the integrated color picker can be used to visually pick a color:

Color picker

Border color - the color used for the cell border.

Border width - controls the width of the cell border on each side. Values can be manually input as:

  • <top>px <right>px <bottom>px <left>px
  • <top_bottom>px <left_right>px
  • <all>px

Alternatively, the built-in border editor can be used for a visual input:

Border width