Layers

A layer is a rectangular region of grid cells. A layer has methods to access its columns, rows, width and height. All layers implement the ILayer interface. A layer can be stacked on top of another layer in order to expose a transformed view of its underlying layer's grid cell structure. Layers are used in this way to encapsulate grid transformation behavior such as hiding and reordering columns.

Columns and rows in a layer are referenced either by position or index:

  • The position of a column/row in a layer corresponds to the physical location of the column/row in the layer. Positions always start from 0 and increase sequentially.
  • The index of a column/row in a layer corresponds to the location of the column/row in the lowest level layer in the layer stack. Indexes are not necessarily ordered, and in some cases may not even be unique within a layer.

These concepts are illustrated by the following example:

Hide Layer C
0 1 2 3 4 <- column positions
1 0 3 4 5 <- column indexes

Reorder Layer B
0 1 2 3 4 5 <- column positions
2 1 0 3 4 5 <- column indexes

Data Layer A
0 1 2 3 4 5 <- column positions
0 1 2 3 4 5 <- column indexes

In the above example, Hide Layer C is stacked on top of Reorder Layer B, which is in turn stacked on top of Data
Layer A. The positions in Data Layer A are the same as its indexes, because it is the lowest level layer in the
stack. Reorder Layer B reorders column 0 of its underlying layer (Data Layer A) after column 2 of its underlying
layer. Hide Layer C hides the first column of its underlying layer (Reorder Layer B).

Layers can also be laterally composed into larger layers. For instance, the standard grid layer is composed of a
body layer, column header layer, row header layer, and corner layer:

corner column header
row header body

Comments

Hide row layer

How to hide or show rows by specified conditions?