PRODUCTS » Quick Links

FEATURED PRODUCT

Office 2010, 2007 & Windows 7 scenic ribbon or Office 2003 toolbar & menus for your Windows applications

License only 125 EUR See More

LOGIN

Customer login to access products, support information & special benefits.

SEARCH

STAY IN TOUCH

Add your e-mail address here to receive the monthly TMS Software alerts.

 

LINKS

PRODUCTS » VCL COMPONENTS » TADVSTRINGGRID » EXAMPLE 38

TAdvStringGrid

Example 38 : grouping and merged group headers

TAdvStringGrid

The advantage of cell merging is that it can also be used with grouping in order to create group header rows that look like real headers with text flowing over multiple columns. This header grouping is here achieved with a little extra code after the performing of the grouping itself. First a new column is inserted where the grouping expand / collaps nodes will be placed. Secondly, for every row where the grouping function added a node, the full row is merged with the MergeCells method.

procedure TForm1.GroupBtnClick(Sender: TObject);
var
  i: Integer;
begin
  AdvStringGrid1.InsertCols(0,1); // insert a new column to place the grouping nodes in
  AdvStringGrid1.ColWidths[0] := 20; // make this a small column, just wide enough to fit the node graphic
  AdvStringGrid1.Group(1); // perform grouping based on column 1 
  for i := 1 to AdvStringGrid1.RowCount - 1 do
  begin
    if AdvStringGrid.IsNode(i) then
      AdvStringGrid1.MergeCells(1,i,AdvStringGrid1.ColCount,1); // Merge the full row
  end;
end;

Before ungrouping the cell merging is removed again with the SplitCells method:

procedure TForm1.UnGroupBtnClick(Sender: TObject);
var
  i: Integer;
begin
  AdvStringGrid1.ExpandAll;
  for i := 1 to AdvStringGrid1.RowCount - 1 do
  begin
    if AdvStringGrid.IsNode(i) then
      AdvStringGrid1.SplitCells(1,i);   // split cells again
  end;
  AdvStringGrid1.UnGroup;
  AdvStringGrid1.RemoveCols(0,1);  // remove the place holder column for group nodes again
end;


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

Copyright © 1995 - 2010 TMS Software v3.3