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?
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;