вот переправленный вариант:
Код:
procedure SGInsertRow(SG: TStringGrid; NewRow: Integer);
var
i: Integer;
begin
if NewRow < 0 then
NewRow := 0; // либо 1, задайте нужное вам поведение
with SG do
begin
RowCount := RowCount + 1;
if NewRow < RowCount - 1 then
begin
for i := RowCount - 1 downto NewRow + 1 do
Rows[i].Assign(Rows[i - 1]);
end;
Rows[NewRow].Clear;
end;
end;
procedure TForm1.Button_insClick(Sender: TObject);
begin
SGInsertRow(StringGrid1,StringGrid1.Row); //Вставляет перед выделенной ячейкой
// SGInsertRow(StringGrid1,StringGrid1.Row + 1); //Вставляет после выделенной ячейки
end;
Огромное спасибо Ama!!! за помощь с удалением строк
вот до кучи исходник может кому нибудь поможет
тут загрузка/сохранение,вставка/удаление