TreeGrid layout

TreeGrid v4.6

TreeGrid sections

TreeGrid table is divided vertically and horizontally to sections. These sections differ by way of scrolling and visibility.

Vertical direction

On vertical direction the table is divided to six sections: header, head rows, variable rows, foot rows, scrollbar and toolbar.

Header shows column titles. Header is always visible (can be scrolled horizontally only). Header enables column resizing and moving by mouse to user. Header always has only one row, but this row can have variable height.

In XML data it is represented by <Header ... />

Head rows are fixed rows on top, under header. Fixed rows are always visible (can be scrolled horizontally only). Fixed rows cannot have child rows. Fixed rows can have variable height. Cell values from fixed rows can be used in formulas in all rows (by Get functions). Fixed rows are not paged. Fixed rows cannot be added or deleted or hidden by filter. Fixed rows are not sorted and cannot be dragged or moved. Values of fixed rows are not calculated in aggregate functions. Aggregate functions in fixed rows iterate all root body rows.

Head rows are usually filter rows or rows with some global settings or user rows with some special settings.

Head rows are optional.

In XML data it is represented by <Head><I .../><I .../> ... </Head>

Body rows are variable rows between head and foot rows. These rows are on pages. If grid has set Paging=0, there is always one page containing all variable rows. Body rows can be hidden by paging, by vertical scroll, by collapsing parent or by filter. Body rows also can be scrolled horizontally. Body rows can contain child rows with child rows and so on. Level of tree is unlimited. Cells from body rows cannot be accessed from another row’s formula by id. Only parent row can be accessed and children rows in aggregate functions. Body rows can added or deleted. Fixed rows can be moved by dragging or by sorting. Sorting sorts always children inside parent. Aggregate functions in body rows iterate all immediate children.

Body rows are usually data rows.

Pre-defined values of body rows are usually stored in defaults (see <Def> main tag), especially if they are calculated.

The height of body is table height minus height of all other visible horizontal sections. The table must be high enough to display body. If it is not, TreeGrid is not displayed and error message is showed.

Body must contain at least one page. Every page must contain at least one row, except the body contains only one page with no rows.

In XML data it is represented by <Body><B ... ><I ...><I ...>...</I>....</I>... </B><B>....</B>...</Body>

Foot rows are fixed rows at bottom. They have the same characteristics as Head rows.

Foot rows are usually aggregate rows with sums or other results of all data rows.

Foot rows are optional.

In XML data it is represented by <Foot><I .../><I .../> ... </Foot>

Horizontal scrollbar at bottom is visible only if width of variable columns is wider then width of grid minus width of fixed sections. By horizontal scrollbar the user scrolls all rows and header.

No XML data representation.

Toolbar is always at bottom and cannot be scrolled or moved. It contains buttons to control the grid. Toolbar can be hidden by data or can be displayed outside the grid, anywhere on the page.

By default is toolbar visible, inside the table and with all possible buttons.

In XML data it is represented by <Toolbar ... />

Horizontal direction

On horizontal direction the table is divided to six sections: panel, left columns, variable columns, right columns, scrollbar, pager.

Left panel contains buttons to delete or select row. If some function is disabled, the button is hidden. Left panel can also be hidden by user from configuration menu. Left panel is always visible by horizontal scroll and can be scrolled vertically only. Left panel cannot be dragged to another position.

By default is left panel visible with both possible buttons.

In XML data it is represented by <Panel ... />

Left columns are fixed columns on the left. Fixed columns are always visible (can be scrolled vertically only). Columns can be dragged only inside its section.

Left columns usually contain row identifications (index, id, name, ...).

Left columns are optional.

In XML data it is represented by <LeftCols><C .../><C .../> ... </LeftCols>

Variable columns are between left and right columns. Variable columns can be hidden by horizontal scroll. They can be scrolled vertically too. Columns can be dragged only inside its section.

The width of variable columns section is table width minus width of all other visible vertical sections. The table must be wide enough to display variable columns. If it is not, TreeGrid is not displayed and error message is showed. The use cannot resize fixed columns too much to completely hide variable columns.

Variable columns usually contain row data.

Every table must contain at least one variable column.

In XML data it is represented by <Cols><C .../><C .../> ... </Cols>

Right columns are fixed columns on the right. They have the same characteristics as Left columns.

Right columns usually contain main results of the row.

Right columns are optional.

In XML data it is represented by <RightCols><C .../><C .../> ... </RightCols>

Vertical scrollbar on the right is visible only if height of variable rows is higher then height of grid minus height of fixed sections. By vertical scrollbar the user scrolls all columns and left panel.

No XML data representation.

Pager is on the right and shows all page names. Page names are usually generated by values in columns the grid is sorted by. Pager is visible only if paging is used. Pager can be hidden by user from configuration menu. Pager can be resized, but cannot be moved. Pager can show its own scrollbars if content is too large to show all.

In XML data it is represented by <Pager ... />

Other

Configuration menu is displayed when user clicks on ‘?’ button on toolbar. The menu is displayed in center of TreeGrid main tag. In the menu user can change treegrid settings.

By default menu contains are possible items.

In XML data it is represented by <MenuCfg ... />

In XML data there are some sections not related to any layout section:

<IO ... /> Section with request to server and with server response

<Cfg .../> Section with all TreeGrid configuration. Remember part of configuration is read from cookies and cookies setting has precedence to Cfg settings, unless SupressCfg or ...Lap atribute is used.

<Def><D .../><D.../>...</Def> Section with default settings for all rows and columns. Rows point to their default by Def attribute. Columns always use Def named “C”.

<Lang>...</Lang> Language settings and texts. By default is in Text.xml. In data you can override some message. For translation is better to have more files TreeGridText.xml and choose on server appropriate version according to browser or other settings.

Updates

None yet