Invalid row xxxx accessed

Hi,



I keep on having "First chance exception at $76C8B782. Exception class EAdvGridError with message 'Invalid row 2779 accessed'."



This is the code for populating the TAdvStringGrid:



TAdvStringGrid1.BeginUpdate;

TAdvStringGrid1.UnGroup;

TAdvStringGrid1.UnHideColumnsAll;

TAdvStringGrid1.RowCount := 2;

TAdvStringGrid1.cells[0, 1] := '';

TAdvStringGrid1.cells[1, 1] := '';

TAdvStringGrid1.cells[2, 1] := '';

TAdvStringGrid1.cells[3, 1] := '';

TAdvStringGrid1.cells[4, 1] := '';

TAdvStringGrid1.colwidths[0] := 20;

CurrRow := 1;

qTemp.open;

qTemp.first;

while not qTemp.eof do

begin

      if CurrRow > 1 then TAdvStringGrid1.InsertRows(TAdvStringGrid1.RowCount, 1);

      TAdvStringGrid1.cells[0, CurrRow] := '';

      TAdvStringGrid1.cells[1, CurrRow] := qTemp.FieldByName('Field1').AsString;

      TAdvStringGrid1.cells[2, CurrRow] := qTemp.FieldByName('Field2').AsString;

      TAdvStringGrid1.cells[3, CurrRow] := qTemp.FieldByName('Field3').AsString;

      TAdvStringGrid1.cells[4, CurrRow] := qTemp.FieldByName('Field4').AsString;

      qTemp.next;

      inc(CurrRow);

end;

qTemp.close;

TAdvStringGrid1.hideColumn(4);

TAdvStringGrid1.Group(1);

for I := 1 to TAdvStringGrid1.RowCount - 1 do

begin

    if TAdvStringGrid1.isNode(I) then

      TAdvStringGrid1.MergeCells(1, I, TAdvStringGrid1.ColCount, 1); // Merge the full row

end;

TAdvStringGrid1.EndUpdate;



This is basic code - no unusual code... Any idea where to look for errors?!?



-Kurt



Do you use the latest version of the grid?

Also, not sure why you do the group header merge in your code while there is a setting for this: 
grid.Grouping.MergeHeader = true ?

Yes lateste version, but it seems like the old code for creating the merged header was the issue!!!!



Problem solved with grouping.mergeheader := true;