procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string); begin if ( ARow = StringGrid1.RowCount-1 ) then // if Row = StringGrid1.RowCount-1 (because I have 1 static row begin // then I add 1 to StringGrid1.Rowcount StringGrid1.RowCount:=StringGrid1.RowCount+1; end else // if the above is false begin if (StringGrid1.RowCount > 8) and (StringGrid1.RowCount > 0) then // and StringGrid1.Rowcount is more then 8 then I take 1 from rowcount begin StringGrid1.RowCount:=StringGrid1.RowCount-1; end; end; end;