BBj Grid Differences

For this topic's original documentation, see Grid Controls.

The following grid behaviors are different in BBj than in VPRO/5:

Alignment

In BBj, if a grid cell containing a checkbox is aligned, the checkbox is also aligned. In Visual PRO/5, the checkbox stays to the left, and the text is aligned.

Hiding/Showing Grid

In BBj, Hiding or displaying the main grid hides or displays the header grids, respectively. Hiding or displaying the header grids does not affect the main grid. In Visual PRO/5, hiding or displaying the main grid does not affect the header grids.

Border

In BBj, the client or raised edge (when set) appear around the main and header grids. In Visual PRO/5, the client or raised edge can be displayed around the main grid only.

Vertical and Horizontal Line Color

In BBj, Set Line Color - SENDMSG() Function 61 sets both the horizontal and vertical line color. In Visual PRO/5, the vertical and horizontal line color can be set separately.

Grid Header

Setting a value with a SENDMSG or mnemonic on the main grid will set the value for the whole grid; row and column header included. The x,y location will be the top-left corner of the entire grid area. If a value is set for the row header, only the width will be used. For the column header, all values will be ignored. The row and column header locations and sizes depend on the main grid and will move and size with the main grid. Except for the row header width, the sizes of the headers cannot be set individually. These changes affect the 'size' and 'move' mnemonics. SENDMSG() Function 1 sets width, height, x and y options.

In BBj, when grid headers are truncated, three dots are added at the right edge end of the text area. In VPRO/5, if the text is too long in a grid header, then the text is truncated.

Show/Hide Mnemonic

If you show or hide the main grid, the visibility of the entire grid including headers is set. In VPRO/5, it would apply only to the main grid. If you show or hide a header, the function will be ignored.

Data Aware Grid

If a grid receives Set Number of Rows - GRID SENDMSG() Function 67 after it has been attached to a data channel using Set Channel and Template - GRID SENDMSG() Function 80, the number of rows will be ignored. The number of rows in a data-aware grid is always equal to the number of records in a data channel.

Data-Aware Grid Editing

If a data-aware grid has been set to be editable and the grid channel is also editable, then editing will begin when an editable cell is double-clicked. The user can hit tab to advance to the next column. Edit commits occur on a row-by-row basis. If the user is currently on the last column, then an edit

commit for the row will occur when the user hits the tab key. If the user is on the last row, then focus will remain on the last row, otherwise, focus will move to the next row, first column. While editing a row, the user can also click on another row, or hit the enter key to commit editing on that row. If another component is focused in the window, an edit commit will not occur. Commits will not occur until the user has done one of the above key or mouse events.

Inserts into a data-aware grid occur on the first row of the grid. The behavior for editing is the same as above.

Scrolling

If horizontal scrolling is not set on in a grid, and a cell that is not entirely on the grid is clicked, then the grid will scroll to fit the whole cell into the grid. It will not show scroll bars.

Cell Masks

The Input mask is displayed in the grid cell in display mode. In BBx, if a mask is set on a cell, then that mask will only appear while editing the cell. In BBj, the mask appears when the cell is not being edited as well.