Ich hatte mal genau das gleiche Problem und habe mir aus diesem Grund diese Procedure geschrieben:
Delphi-Quellcode:
Procedure StringgridDelete(Stringgrid:TStringGrid; Index:Cardinal);
var FixedRows,i:integer;
begin
if Index<Stringgrid.RowCount then
begin
FixedRows:=Stringgrid.FixedRows;
if Stringgrid.RowCount=FixedRows+1
then Stringgrid.Rows[FixedRows].Clear
else begin
if Stringgrid.RowCount>2 then
begin
for i:=Index to Stringgrid.RowCount-1 do
Stringgrid.Rows[i]:=Stringgrid.Rows[i+1];
Stringgrid.RowCount:=Stringgrid.RowCount-1;
end;
end;
end;
end;
[edit] Wenn du wirklich das gesamte StrinGrid löschen möchtest, musst du das so schreiben:
Delphi-Quellcode:
StringGrid1.RowCount:=1;
StringGrid1.Rows[StringGrid1.RowCount-1].Clear;
[/edit]