Fixed Layout vs Dynamic Layout

There are two different ways how elements can be placed on a page. Fixed layouts and dynamic layouts.

ReportWeaver uses dynamic layouts to speed up report design and to make reports more flexible. In addition ReportWeaver offers features for fixed size elements.

Frequently users initially feel more comfortable with fixed layouts, because they have direct control over the placement of elements. However this comfort ends when things have to be changed or when the contents are dynamic. Then fixed layout is annoying because elements will either be truncated of the will overlay each other if they change their size.

In contrast dynamic layout requires you to get accustomed to the dynamic layout algorithm (also called the layout manager) and to learn how to achieve the desired effect through this algorithm. However once you have learnt this the layout manager will ease layout work because it autmatically takes care of many tasks you would have to do manually otherwise. E.g. when you move an element ReportWeaver's layout manager will automatically move the other elements out of the way. Or, if the size of an element increases, ReportWeaver's layout manager will first shift other elements to make space before it truncates an element.

Dynamic layout using a grid

If you have designed a web page before, you will immediately recognize ReportWeaver's layout algorithm. It is very similar to the algorithm your web browser uses to layout tables. This algorithm is also known as GridBag Layout. Essentially it lays out elements in rows and columns which are resized depending on their size. We have chosen this algorithm because it automatically keeps labels and fields aligned.

The layout algorithm will be explained with a number of examples:


Initially each element will get the space it needs as long as everything fits on a page.

Label1: Data value 1

Adding another row resizes the grid to make space for the new data. The labels and values remain aligned.

Label1: Data value 1
Label for Field 2: Field Val 2

You can set a style property for the grid, so that it fills all available space and you can set the alignment of text within a grid cell. Here the labels have been right aligned.

Label1: Data value 1
Label for Field 2: Field Val 2

Cells can also span several columns or rows. This is frequently used for titles and longer text.

Cell spanning two colums
Label1: Data value 1
Label for Field 2: Field Val 2

Note:Rows and colums can also have fixed sizes, so that you can create static layouts too. This makes it easy to fill paper based forms which require static layout.

Note:There are many more properties you can set to control the layout of grids and cells. (Borders, indentation spacing etc.) This is described in the chapter on

Adding Rows/Columns

There are three way how rows/columns are added:

Deleting Rows/Columns

To delete a row/colums select one ore more cells and execute Del Row/Del Col in the edit menu.

Deleting Cells/Ranges

To delete a cell select it and then press delete on the keyboard or on the toolbar.

To delete a range select the range. (Click on the first cell in the range and then shift click on the last cell in the range) and then press delete on the keyboard or on the toolbar.

Moving Cells

Select the cell or range and drag it to the new position. You can drag the cell/range over a cell or over a cell border. If you drag the cell/range over a cell it will be overwritten with the new content. If you drag a cell/range to a place between cells ReportWeaver will add space, so that cells are not overwritten.

Example:

  1. The selected Range is indicated by a blue rectangle.
  2. Dragging to the border between Cell 1 c and Cell 2 c will add two rows between row 2 and row 3 and then place Cell 1 a and Cell 1 b in these new rows.

The result is: