TAdvStringGrid

Example 39 : merged cell access and merged cell printing and HTML export

vcl grid merging

This demo app demonstrates the behaviour of merged cells. The access and settings that affect the merged cells are all done through the base cell, ie. the top left cell. This includes setting of cell content as well as performing cell settings through events. Cell merging is started with the call grid.MergeCells(ACol,ARow,SpanX,SpanY: Integer). ACol,ARow indicate the base cell, while SpanX, SpanY indicate the number of cells to merge horizontally and vertically. It is evident that the minimum values for SpanX, SpanY are 1 (that is no merging)

Example :

To set a long text in 10 horizontally merged cells you can:
AdvStringGrid1.MergeCells(1,6,10,1);
AdvStringGrid1.Cells[1,6] := 'This another one that is long too';

The background color of this merged cell can be set by changing the background color of the base cell, ie :
AdvStringGrid.Colors[1,6] := clLime;

To reapply the default color, use :
AdvStringGrid.Colors[1,6] := clNone;

If you want to use the OnGetCellColor event to set colors, it is sufficient to handle the base cell color setting, for example in this way:
procedure AdvStringGrid1GetCellColor(Sender: TObject; ACol,ARow: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);

begin
  if ACol = 1 then 
  begin
    AFont.Color := clBlue
    AFont.Style := [fsBold];
  end;
end;


Delphi project & source files for downloading included in the main demos distribution for Delphi.