moin moin,
vielleicht hilfts dir, müsste aber noch ein bisschen optimiert werden, wenn ich mich recht erinnere stammt der code aus dem kochbuch 'borland delphi 7' von hanser, aber ganz sich bin ich nicht, hab grad keine lust nachzuschaun....
Delphi-Quellcode:
//--------prozedur für zeilen löschen---------------------------------
procedure tform2.stringGridDelRow(RowNumber : Integer; Grid : TStringGrid);
var i : Integer;
begin
with Grid do begin
if grid.Row < FixedRows+2 then
begin
exit; end
else
begin
Grid.Row := RowNumber;
if (Grid.Row = Grid.RowCount -1) then
begin // Falls letzte Zeile
Grid.RowCount := Grid.RowCount - 1;
end
else
begin // Wenn doch nicht die letzte Zeile
for i := RowNumber To Grid.RowCount - 1 do
begin
Grid.Rows[i] := Grid.Rows[i+ 1];
end;
Grid.RowCount := Grid.RowCount - 1;
end;
end; end;end;
//--------prozedur für spalte löschen---------------------------------
procedure tform2.stringgridDelcol(colNumber : Integer; Grid1 : TStringGrid);
var i : Integer;
begin
Grid1.col := colNumber;
if (Grid1.col = Grid1.colCount -1) then
begin
// Falls letzte spalte
Grid1.colCount := Grid1.colCount - 1;
end
else
begin
// Wenn doch nicht die letzte spalte
for i := colNumber To Grid1.colCount - 1 do
begin
Grid1.Cols[i] := Grid1.cols[i+ 1];
end;
Grid1.colCount := Grid1.colCount - 1;
end;
end;
wie gesagt, nicht optimal, musst du noch auf dein projekt zuschneiden, aber es bringt dich vielleicht in bisschen weiter...