1) How to select cells at design time:

   Press Ctrl and Shift key at same time, and hold down the left mouse button
   and drag.


2) How to enable cell stretch function?

   Set grid's Stretch property to True on the popup menu by right-click on the
   grid.


3) Predefined border constants:

   NO_LINE = 0;            - No line
   ONEEIGHTTH_LINE = 1;    - 1/8 pt line
   ONEFOURTH_LINE = 2;     - 1/4 pt line
   HALF_LINE = 3;          - 1/5 pt line
   THREEFOURTH_LINE = 4;   - 3/4 pt line, (Default)
   ONE_LINE = 5;           - 1 pt line
   ONEHALF_LINE = 6;       - 1 1/2 pt line
   TWOONEFOURTH_LINE = 7;  - 2 1/4 pt line
   THREE_LINE = 8;         - 3 pt line
   FOURHALF_LINE = 9;      - 4 1/5 pt line
   SIX_LINE = 10;          - 6 pt line

   Please Note: Some of lines see no difference at design time,
   e.g. 1/8 pt line, 1/4 pt line, but will be different when printing.


4) The properties of the grid cell (TrbTableCell)

   Color         - Cell background color.
   LeftBorder    - Cell Left border. (Possible value to see No. 3)
   TopBorder     - Cell Top border. (Possible value to see No. 3)
   RightBorder   - Cell Right border (Possible value to see No. 3)
   BottomBorder  - Cell Bottom border.
   BorderColor   - Cell border color.
   DisplayFormat - Cell text display format.
   FontName      - Cell font name.
   TextAlignment - Cell text alignemnt. Possible value:
                      taLeftJustify,
                      taCenter,
                      taRightJustify.
   TextLayout    - Cell text layout. Possible value:
                      tlTop,
                      tlCenter,
                      tlBottom.
   TextStyle     - Cell text font styles. Possible value:
                      fsBold,
                      fsItalic,
                      fsUnderline,
                      fsStrikeout.
   TextColor     - Cell text font color.
   TextSize      - Cell text font size.
   Alias         - Cell alias name.


5) OnGetCellValue event

   This event takes three parameters when the grid try to request the value of
   the grid cell for printing, ARow(Integer), ACol(Integer) and the var parameter
   Value(Variant).

   Please Note: By setting a return value into the Value parameter, it replaces
   the cell caption.


6) OnGetCellConfig Event

   This event takes three parameters when the grid try to request the cell's
   properties for printing, e.g. Cell color, font, ..., etc. The parameters are:
   ARow(Integer), ACol(Integer) and Cell(TrbTableCell).

7) OnCalcColumnWidth Event

   This event takes two parameters when the grid try to request the width of the
   specified column to print: ACol(Integer) is the column, and a var parameter
   AWidth (Integer), which can be set to either a zero (hide the column) or
   a non-zero value.

8) OnCalcRowHeight Event

   This event takes two parameters when the grid try to request the height of
   the specified row to print: ARow(Integer) is the row, and a var parameter
   AHeight (Integer), which can be set to either a zero (hide the row) or
   a non-zero value.

9) TrbTableGrid run-time Delphi methods:

   procedure SetGrid(ARows, ACols: Integer;
     AWidth: Integer = DEFAULTCOLUMNWIDTH; AHeight: Integer = DEFAULTROWHEIGHT);

      Initialize the grid by specify row count (ARows) and column count (ACols),
      with initial column width (AWidth) and row height (AHeight).

   procedure MergeCells(AStartRow, AStartCol, ARowCount, AColCount: Integer);

      Merge grid cells specified by the range from start row (AStartRow),
      start column (AStartCol) and number of the merged rows (ARowCount) and
      columns (AColCount).

   procedure SplitCells(AStartRow, AStartCol, ARowCount, AColCount: Integer;
     SplitRowCount, SplitColCount: Integer;
     NewRowHeight: Integer = DEFAULTROWHEIGHT;
     NewColWidth: Integer = DEFAULTCOLUMNWIDTH);

      Split grid cells specified by the range (AStartRow, AStartCol, ARowCount,
      AColCount) with the number of splited rows (SplitRowCount) and
      columns (SplitColCount).

   procedure DeleteByRows(AStartRow, ARowCount: Integer);

      Delete number of rows (ARowCount) from the specified row (AStartRow).

   procedure InsertRowsAbove(AStartRow, ACount, AHeight: Integer;
     CopyRow: Integer = -1);

      Insert number of rows (ACount) above the row (AStartRow) with the
      specified the row height (AHeight).

   procedure InsertRowsBelow(AStartRow, ACount, AHeight: Integer;
     CopyRow: Integer = -1; RedrawStartRow: Integer = -1);

      Insert number of rows (ACount) below the row (AStartRow) with the
      specified the row height (AHeight).

   procedure AppendRows(ARowCount: Integer; AHeight: Integer = DEFAULTROWHEIGHT);

      Append the number of rows (ARowCount) with the specified row height
      (AHeight) at the bottom of the grid.

   procedure DeleteByCols(AStartCol, AColCount: Integer);

      Delete number of columns (AColCount) from the specified column (AStartCol).

   procedure InsertColsLeft(AStartCol, ACount: Integer; AWidth: Integer;
     CopyCol: Integer = -1);

      Insert number of columns (ACount) into the left of the column (AStartCol)
      with the specified column width (AWidth).

   procedure InsertColsRight(AStartCol, ACount: Integer;
     AWidth: Integer; CopyCol: Integer = -1; RedrawStartCol: Integer = -1);

      Insert number of columns (ACount) into the right of the column (AStartCol)
      with the specified the column width (AWidth).

   procedure AppendCols(AColCount: Integer; AWidth: Integer = DEFAULTCOLUMNWIDTH);

      Append the number of columns (ACount) with the specified the column
      width (AWidth) at the right side of the grid.