In BBj 7.00 and higher, the BBjGrid is the abstract base class for BBjStandardGrid, BBjDataAwareGrid and BBjDataBoundGrid. BBjGrid contains the methods that are common to BBjStandardGrid, BBjDataAwareGrid, and BBjDataBoundGrid.

Extended Interfaces

DragSource, DropTarget, CommonGrid, Focusable, MouseWheelEnabled, Scrollable.TabTraversable

Methods of BBjGrid – Drag and Drop

Return Value Method
boolean getDragAccept()
boolean getDragEnabled()
string getDragType(int row, int column)
BBjVector getDropTypes(int column)
BBjVector getDropTypes(int row, int column)
void setDragAccept(boolean drag)
void setDragEnabled(boolean mode)
void setDragType(int column, string type)
void setDragType(int row, int column, string type)
void setDropTypes(int column, BBjVector types!)
void setDropTypes(int row, int column, BBjVector types!)

Methods of BBjGrid – Grid CSS Style

Return Value Method
void addCellStyleName(int row, int column, string styleName)
void addColumnStyleName(int column, string styleName)
void addRowStyleName(int row, string styleName)
void clearCellStyleNames(int row, int column)
void clearColumnStyleNames(int column)
void clearRowStyleNames(int row)
BBjVector getCellStyleNames(int row, int column)
BBjVector getColumnStyleNames(int column)
BBjVector getRowStyleNames(int row)
void removeCellStyleName(int row, int column, string styleName)
void removeColumnStyleName(int column, string styleName)
void removeRowStyleName(int row, string styleName)

Methods of BBjGrid – Grid Headers

Return Value Method
int getColumnGutter()
BBjGridHeader getColumnHeader()
int getColumnHeaderHeight()
int getHasColumnHeader()
int getRowGutter()
void setColumnGutter(int gutter)
void setColumnHeaderHeight(int height)
void setHasColumnHeader(int header)
void setRowGutter(int gutter)

Methods of BBjGrid – Grid Rows and Columns

Return Value Method
void adjustSpacesWhenDisplaying(int column, boolean stripLeading, boolean stripTrailing, boolean collapseMultipleSpaces, boolean removeAllSpaces)
void adjustSpacesWhenSaving(int column, boolean stripLeading, boolean stripTrailing, boolean collapseMultipleSpaces, boolean removeAllSpaces)
void doLowerCaseWhenDisplaying(int column)
void doLowerCaseWhenSaving(int column)
void doUpperCaseWhenDisplaying(int column)
void doUpperCaseWhenSaving(int column)
void fillGridWithColumns(int fit)
int getBottomRow()
BBjGridCell getCell(int row, int column)
BBjGridData getCellRange(int startRow, int startCol, int endRow, int endRow)
BBjInteger getClientAreaHeight()
BBjInteger getClientAreaWidth()
BBjGridData getColumnData(int col, int startRow, int endRow)
int getColumnWidth(int column)
BBjVector getColumnWidths()
int getDefaultColumnWidth()
int getHorizontalCellSpacing()
int getHorizontalLinesVisible()
int getInterspace() - deprecated, use getHorizontalCellSpacing
int getLeftColumn()
int getMaxVisibleColumns()
int getMaxVisibleRows()
int getNumColumns()
int getNumRows()
BBjGridData getRowData(int row)
BBjGridData getRowData(int startRow, int endRow)
int getRowHeight()
int getRowHeight(int row)
int getShouldHighlightSelectedColumn()
int getShouldHighlightSelectedRow()
boolean getSnapToRowHeight()
string getToolTipText()
string getToolTipText(int col)
string getToolTipText(int row, int col)
int getTopRow()
int getVerticalCellSpacing()
int getVerticalLinesVisible()
int getVisibleColumnCount() - deprecated, use getVisibleColumns or getMaxVisibleColumns
int getVisibleColumns()
int getVisibleRowCount() - deprecated, use getVisibleRows or getMaxVisibleRows
int getVisibleRows()
int isColumnVisible(int column)
int isFitToGrid()
int isRowVisible(int row)
int isUserResizable()
BBjGridCell makeCell(int row, int col)
void replaceCommasWhenDisplaying(int column, string valueString)
void replaceCommasWhenSaving(int column, string valueString)
void replaceDecimalsWhenDisplaying(int column, string valueString)
void replaceDecimalsWhenSaving(int column, string valueString)
void setCell(BBjGridCell cell)
void setCells(BBjVector cells)
void setColumnWidth(int column, int width)
void setColumnVisible(int column)
void setDefaultColumnWidth(int width)
void setFitToGrid(int fit)
void setHorizontalCellSpacing(int spacing)
void setHorizontalLinesVisible(int visible)
void setInterspace(int interspace) – deprecated, use setHorizontalCellSpacing()
void setLeftColumn(int column)
void setMouseCapture(boolean capture)
void setRowHeight(int height)
void setRowHeight (int row, int height)
void setRowVisible(int row)
void setSelectedCell(int row, int col)
void setSelectedCell(BBjGridCell gridCell!)
void setSelectedCells(BBjVector selection!)
void setShouldHighlightSelectedColumn(int should)
void setSnapToRowHeight(boolean shouldSnap)
void setToolTipText(string text)
void setToolTipText(int col, string text)
void setToolTipText(int row, int col, string text)
void setShouldHighlightSelectedRow(int should)
void setTopRow(int row)
void setUserResizable(int resize)
void setVerticalCellSpacing(int spacing)
void setVerticalLinesVisible(int visible)

Methods of BBjGrid – Grid Scrolling

Return Value Method
int getHorizontalScrollable()
int getHorizontalScrollBarAlways()
int getPagingAmount()
boolean getScrollbarTriggerTopBottomEvent()
int getScrollOutside()
int getScrollUpdate()
int getVerticalScrollable()
int getVerticalScrollBarAlways()
int isPaging()
void scrollToBottom()
void setHorizontalScrollable(int scroll)
void setHorizontalScrollBarAlways(int always)
void setPaging(int page)
void setPagingAmount(int lines)
void setScrollbarTriggerTopBottomEvent(boolean value)
void setScrollOutside(int outside)
void setScrollUpdate(int update)
void setVerticalScrollable(int scroll)
void setVerticalScrollBarAlways(int always)
void suppressUpdatesWhileScrolling(int suppress)

Methods of BBjGrid – Grid Cell Contents

Return Value Method
string getCellText(int row, int column)
string getColumnHeaderCellText(int column)
string getColumnMask(int column)
int getInsertMode()
boolean getShowMaskWhenRendering() – deprecated in BBj 7.00
void setInsertMode(int mode)
void setColumnHeaderCellText(int column, string text)
void setColumnHeaderText(BBjVector strings!)
void setColumnMask(int column, string mask)
void getShowMaskWhenRendering(int shouldShow) – deprecated in BBj 7.00
int getStringWidth(string text)

Methods of BBjGrid – Grid Cell Editing

Return Value Method
void endEdit()
void endEdit(int suppress)
int getEditClickCount()
string getEditText()
int isColumnEditable(int column)
int isEditable()
boolean isEditing()
boolean isEditOnKeyPress()
int isRowEditable()
void setColumnEditable(int column, int editable)
void setEditClickCount(int count)
void setEditable(int editable)
void setEditOnKeyPress(boolean value)
void setRowEditable(int row, int editable)
void startEdit(int row, int column)

Methods of BBjGrid – Grid Cell Style

Return Value Method
int getColumnHeaderCellStyle(int column)
int getColumnHeaderStyle()
void setColumnHeaderCellStyle(int column, int style)
void setColumnHeaderStyle(int style)

Methods of BBjGrid – Grid Cell Alignment

Return Value Method
int getCellVerticalAlignment(int row, int column)
int getColumnAlignment(int column)
int getColumnVerticalAlignment(int column)
int getColumnHeaderAlignment()
int getColumnHeaderCellAlignment(int column)
int getColumnHeaderCellVerticalAlignment(int align)
int getColumnHeaderVerticalAlignment()
int getDefaultVerticalAlignment()
int getMainGridAlignment()
int getMainGridVerticalAlignment()
int getRowVerticalAlignment(int row)
void setCellVerticalAlignment(int row, int column, int align)
void setColumnAlignment(int column, int align)
void setColumnVerticalAlignment(int column, int align)
void setColumnHeaderAlignment(int align)
void setColumnHeaderCellAlignment(int column, int align)
void setColumnHeaderCellVerticalAlignment(int column, int align)
void setColumnHeaderVerticalAlignment(int align)
void setDefaultAlignment(int align)
void setDefaultVerticalAlignment(int align)
void setMainGridAlignment(int align)
void setMainGridVerticalAlignment(int align)
void setRowVerticalAlignment(int row, int align)

Methods of BBjGrid – Grid Cell Selection

Return Value Method
void deselectAllCells()
int getHeaderSelection()
int getHighlightMethod()
BBjGridCell getSelectedCell()
BBjVector getSelectedCells()
int getSelectedColumn()
BBjVector getSelectedColumns()
int getSelectedRow()
BBjVector getSelectedRows()
int getSelectionMode()
int getTabAction()
int getTabActionSkipsNonEditableCells()
boolean isEnhancedSelectionModelEnabled()
boolean isEnterAsTab()
int isMultipleSelectionAllowed()
boolean isSelected(BBjGridCell cell)
boolean isSelected(int row, int column)
void moveToNextCell()
void setEnhancedSelectionModelEnabled(boolean mode)
void setEnterAsTab(boolean enterAsTab)
void setHeaderSelection(int select)
void setHighlightMethod(int highlight)
void setMultipleSelection(int multiple)
void setSelectedCell(BBjGridCell gridCell!)
void setSelectedCell(int row, int column)
void setSelectedColumn(int column)
void setSelectedColumns(BBjVector selection!)
void setSelectedRow(int row)
void setSelectedRows(BBjVector selection!)
void setSelectionMode(int mode)
void setTabAction(int action)
void setTabActionSkipsNonEditableCells(int skips)

Methods of BBjGrid – Grid Colors

Return Value Method
BBjColor getColumnBackColor(int column)
BBjColor getColumnForeColor(int column)
BBjColor getColumnHeaderBackColor()
BBjColor getColumnHeaderCellBackColor(int column)
BBjColor getColumnHeaderCellForeColor(int column)
BBjColor getColumnHeaderForeColor()
BBjColor getLineColor()
BBjColor getMainGridBackColor()
BBjColor getMainGridForeColor()
BBjColor getMainGridStripeColor()
BBjColor getSelectionBackground()
BBjColor getSelectionForeground()
int getStripeCount()
void setColumnBackColor(int column, BBjColor color!)
void setColumnForeColor(int column, BBjColor color!)
void setColumnHeaderBackColor(BBjColor color!)
void setColumnHeaderCellBackColor(int column, BBjColor color!)
void setColumnHeaderCellForeColor(int column, BBjColor color!)
void setColumnHeaderForeColor(BBjColor color!)
void setLineColor(BBjColor color!)
void setMainGridBackColor(BBjColor color!)
void setMainGridForeColor(BBjColor color!)
void setMainGridStripeColor(BBjColor color!)
void setSelectionBackground(BBjColor color)
void setSelectionForeground(BBjColor color)
void setStripeCount(int count)
void setViewportColor(BBjColor color)

Methods of BBjGrid – Grid Fonts

Return Value Method
BBjFont getColumnFont(int column)
BBjFont getColumnHeaderFont()
BBjFont getMainGridFont()
void setColumnFont(int col, BBjFont font!)
void setColumnHeaderFont(BBjFont font!)
void setMainGridFont(BBjFont font!)

Methods of BBjGrid – Icon Functions

Return Value Method
void setColumnHeaderCellIcon(int imageListID, int index, int column)
void setColumnHeaderCellImage(int column, BBjImage image!)

Methods of BBjGrid – Miscellaneous Grid Functions

Return Value Method
boolean getBeepOnValidationFailure()
int getStartEditSelectionMode()
boolean getTrimBlankSpace()
string getUpdateErrorMessage()
boolean isDataAware()
boolean isDataBound()
boolean isEnabled()
boolean setBeepOnValidationFailure(boolean shouldBeep)
void setEnabled(boolean enabled)
int setStartEditSelectionMode(int mode)
void setTrimBlankSpace(boolean shouldTrim)
boolean showCalendarForCell()

showCalendarForCell(boolean stopCellEdit)

showCalendarForCell(int row, int column)

showCalendarForCell(int row, int column, boolean stopCellEdit)

Methods of BBjGrid implemented for CommonGrid

Return Value Method
void endEdit()
int endEdit(int suppress)
int getColumnStyle(int column)
int getDefaultGridStyle()
void setColumnStyle(int column, int style)
void setDefaultGridStyle(int style)
void startEdit(int row, int col)

Methods of BBjGrid implemented for Focusable

Return Value Method
boolean isFocusable()
void setFocusable(boolean focus)

Methods of BBjGrid implemented for MouseWheelEnabled

Return Value Method
int getScrollWheelBehavior()
void setScrollWheelBehavior(int trav)

Methods of BBjGrid implemented for Scrollable

Return Value Method
int getHorizontalScrollBarHeight()
int getHorizontalScrollBarPosition()
int getHorizontalScrollBarWidth()
int getVerticalScrollBarHeight()
int getVerticalScrollBarPosition()
int getVerticalScrollBarWidth()
boolean isHorizontalScrollBarVisible()
boolean isVerticalScrollBarVisible()
void setHorizontalScrollBarPosition(int position)
void setVerticalScrollBarPosition(int position)

Methods of BBjGrid implemented for TabTraversable

Return Value Method
boolean isTabTraversable()
void setTabTraversable(boolean trav)

Methods of BBjGrid inherited from BBjControl


Callback Code Object-oriented Event Read Record Event Code
ON_MOUSE_EXIT BBjMouseExitEvent Mouse Enter/Exit Event E
ON_MOUSE_ENTER BBjMouseEnterEvent Mouse Enter/Exit Event E
ON_LOST_FOCUS BBjLostFocusEvent Control Focus Gained/Lost Event f
ON_GAINED_FOCUS BBjGainedFocusEvent Control Focus Gained/Lost Event f
ON_GRID_COLUMN_SIZE BBjGridColumnSizeEvent COLUMNSIZED Grid Notify Event N (Notify code 1)
ON_GRID_SELECT_COLUMN BBjGridSelectColumnEvent COLCHANGE Grid Notify Event N (Notify code 2)
ON_GRID_DOUBLE_CLICK BBjGridDoubleClickEvent DCLICKED Grid Notify Event N (Notify code 3)
ON_GRID_DRAG_DROP BBjGridDragDropEvent DRAGDROP Grid Notify Event N (Notify code 4)
ON_GRID_CELL_MODIFY BBjGridCellModifyEvent EDITCHANGE Grid Notify Event N (Notify code 5)
ON_GRID_SPECIAL_KEY BBjGridSpecialKeyEvent EDITKEY Grid Notify Event N (Notify code 6)
ON_GRID_EDIT_STOP BBjGridEditStopEvent EDITKILL Grid Notify Event N (Notify code 7)
ON_GRID_EDIT_START BBjGridEditStartEvent EDITSET Grid Notify Event N (Notify code 8)
ON_GRID_ENTER_KEY BBjGridEnterKeyEvent ENTER Grid Notify Event N (Notify code 9)
ON_GRID_HIT_BOTTOM BBjGridHitBottomEvent HITBOTTOM Grid Notify Event N (Notify code 10)
ON_GRID_HIT_TOP BBjGridHitTopEvent HITTOP Grid Notify Event N (Notify code 11)
ON_GRID_KEYPRESS BBjGridKeypressEvent KEYBOARD Grid Notify Event N (Notify code 12)
ON_GRID_LOST_FOCUS BBjGridLostFocusEvent KILLFOCUS N (Notify code 13)
ON_GRID_MOUSE_UP BBjGridMouseUpEvent LCLICKED Grid Notify Event N (Notify code 14)
ON_GRID_MOUSE_DOWN BBjGridMouseDownEvent LCLICKED Grid Notify Event N (Notify code 14)
ON_GRID_MOUSE_DOWN BBjGridMouseDownEvent LCLICKED2 Grid Notify Event N (Notify code 15)
ON_GRID_LEFT_COLUMN_CHANGE BBjGridLeftColumnChangeEvent LEFTCOLCHANGE Grid Notify Event N (Notify code 16)
ON_GRID_MOUSE_MOVE BBjGridMouseMoveEvent MOUSECAPTURE Grid Notify Event N (Notify code 17)
ON_GRID_MOUSE_DRAG BBjGridMouseDragEvent MOUSECAPTURE Grid Notify Event N (Notify code 17)
ON_GRID_RIGHT_MOUSE_UP BBjGridRightMouseUpEvent RCLICKED Grid Notify Event N (Notify code 18)
ON_GRID_RIGHT_MOUSE_DOWN BBjGridRightMouseDownEvent RCLICKED Grid Notify Event N (Notify code 18)
ON_GRID_SELECT_ROW BBjGridSelectRowEvent ROWCHANGE Grid Notify Event N (Notify code 19)
ON_GRID_GAINED_FOCUS BBjGridGainedFocusEvent SETFOCUS N (Notify code 20)
ON_GRID_TOP_ROW_CHANGE BBjGridTopRowChangeEvent TOPROWCHANGE Grid Notify Event N (Notify code 21)
ON_GRID_UPDATE BBjGridUpdateEvent TABLEUPDATE Grid Notify Event N (Notify code 22)
ON_GRID_ERROR N/A ERROR Grid Notify Event N (Notify code 29)
ON_GRID_CHECK_ON BBjGridCheckOnEvent CELLCHECKED Grid Control Event N (Notify code 30)
ON_GRID_CHECK_OFF BBjGridCheckOffEvent CELLCHECKED Grid Control Event N (Notify code 30)
ON_GRID_CELL_VALIDATION BBjGridCellValidationEvent Grid Cell Validation Event N (Notify code 32)
ON_GRID_LIST_CANCEL BBjGridListCancelEvent LISTCANCEL Grid Notify Event N (Notify code 34)
ON_GRID_LIST_CHANGE BBjGridListChangeEvent LISTCHANGE Grid Notify Event N (Notify code 35)
ON_GRID_LIST_CLICK BBjGridListClickEvent LISTCLICK Grid Notify Event N (Notify code 36)
ON_GRID_LIST_CLOSE BBjGridListCloseEvent LISTCLOSE Grid Notify Event N (Notify code 37)
ON_GRID_LIST_OPEN BBjGridListOpenEvent LISTOPEN Grid Notify Event N (Notify code 38)
ON_GRID_LIST_SELECT BBjGridListSelectEvent LISTSELECT Grid Notify Event N (Notify code 39)
ON_ROW_SELECTION_CHANGE BBjGridRowChangedEvent ROWSELECTCHANGE Grid Notify Event N (Notify code 40)
ON_COLUMN_SELECTION_CHANGE BBjGridColumnChangedEvent COLSELECTCHANGE Grid Notify Event N (Notify code 41)
ON_GRID_SELECT_CELL BBjGridSelectCellEvent CELLSELECTCHANGE Grid Notify Event N (Notify code 42)
ON_CELL_SELECTION_CHANGE BBjGridCellChangedEvent CELLSELECTCHANGE Grid Notify Event N (Notify code 43)
ON_CONTROL_SCROLL BBjControlScrollEvent Scrollbar Move Event p
ON_POPUP_REQUEST BBjPopupRequestEvent Popup Request Event r
ON_RIGHT_MOUSE_DOWN BBjRightMouseDownEvent Right Mouse Button Down Event R
ON_CONTROL_VALIDATION BBjControlValidationEvent Control Validation Event v


The visual appearance of BUI controls is defined using CSS (cascading style sheets) rules. Easily change the default colors, border, and other settings by customizing these rules, all without changing any application code. See CSS API for a high-level overview of BUI CSS.

The BBjGrid is a complex structured control with several nested layers. It defines the following style names:

.BBjGrid .bbj-selected

(note the space between .BBjGrid and .bbj-selected)

.BBjGrid .bbj-highlighted

(note the space between .BBjGrid and .bbj-highlighted)


As with all BBjControls, the top level style name, .BBjGrid, corresponds to the control name. The next level in is .BBjGrid-masterPanel. For implementation reasons, this is the level that defines the default outer border. The master panel contains four separate areas:  The main body of the grid, with a style name of .BBjGrid-fieldPanel; column and row headers, with style names of .BBjGrid-columnHeader and .BBjGrid-rowHeader; and the small leftover piece in the upper left corner, .BBjGrid-corner.

Within the main grid and column headers, individual cells have the style names .BBjGrid-mainGridCell, .BBjGrid-columnHeaderCell, or .BBjGrid-rowHeaderCell. Each cell is also assigned several additional style names based on the type of cell (the default type is .BBjGrid-inputECell), the cell row and column (.BBjGid-row0,  .BBjGrid-column0, etc.), .BBjGrid-evenRow or .BBjGrid-oddRow, and a style based on whether the column is currently sorted (.BBjGrid-unsorted, .BBjGrid-ascending, .BBjGrid-descending).

When a given cell is in edit mode, it also has the style name .BBjGrid-editingCell. Within the body of the grid, .BBjGrid.bbj-selected is applied to the selected cell(s). Row and column headers corresponding to selected cells can be highlighted using the style name .BBjGrid .bbj-highlighted.

The easiest way to understand this complex structure is with a simple grid sample. This is a very basic 3x3 grid, with row and column headers:

rem ' grid.txt

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
window! = sysgui!.addWindow(25,25,300,150,"Grid",$00090003$,$$)
grid = 101, colhdr = 102, rowhdr = 103, rows = 3, cols = 3
grid! = window!.addGrid(grid,rowhdr,colhdr,10,10,280,135,$81ce$,rows,cols)
for col = 0 to cols - 1
    for row = 0 to rows - 1
    next row
next col


By default, this is how BUI renders that grid:

Now we define a few simple CSS rules: Eliminate all interior borders; set the highlight color to a CSS gradient; and add drop shadows to the selected and edited grid cell.

  background: linear-gradient(to bottom right, #FFFFFF 0%, #00A3EF 100%);
   border: none;
.BBjGrid .bbj-selected
  background: linear-gradient(to bottom, rgba(73,155,234,1) 0%,rgba(32,124,229,1) 100%);
  box-shadow: 7px 7px 5px rgba(69, 117, 210, 0.5);
  box-shadow: 7px 7px 5px rgba(50, 50, 50, 0.5);
.BBjGrid-evenRow, .BBjGrid-oddRow
  background: transparent;
.BBjGrid:not(.bbj-disabled) tr:hover .BBjGrid-mainGridCell.BBjGrid-evenRow,
.BBjGrid:not(.bbj-disabled) tr:hover .BBjGrid-mainGridCell.BBjGrid-oddRow
  background: transparent;

With those CSS rules, the grid looks like this:





Constants inherited from BBjControl


BBjGrid is an abstract class and cannot be instantiated. For examples, see BBjStandardGrid, and BBjDataAwareGrid.

See Also





BBj Object Variables

BBj Object Assignment

BBj Object Error Handling

BBj Object Operators

CALLBACK Verb - Register BBj Subroutine

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.