Another custom layout in UI Forms is a variation of the RowLayout
.
If we configure RowLayout
to place children vertically (in
columns), and to make all controls the same with within the column, we would get
several columns (depending on the width of controls), but the last column would
typically not be completely filled (depending on the number of controls). Again,
if placed in a form, we would get all the controls in one column because
RowLayout
cannot do 'vertical' wrapping. If we use GridLayout
,
we must choose the number of columns up front and live with the choice.
There are situations in more complex forms where we want the number of
columns to be adaptive. In other words, we would like the number to change
depending on the width of the form - use more when possible, drop the number
down as the width decreases. We would also like to fill the form area more-less
equally (with all the columns roughly the same height). All this can be achieved
with ColumnLayout
.
Compared to TableWrapLayout
, ColumnLayout
is much
simpler. Hardly any configuration is needed. The only choice you need to make is
the range of columns you want to have (default is 1 to 3).