@stephania Добрый день!
Сам StringGrid не имеет доступных методов для удаления строк, поэтому приходится шаманить, это либо сдвигания строк, либо использовать готовый метод класса TCustomGrid
1 2 3 4 5 6 |
type TMyGrid = class(TCustomGrid); procedure TForm1.DeleteARow(Grid: TStringGrid; ARow: Integer); begin TMyGrid(Grid).DeleteRow(ARow); end; |
Вызов метода можно сделать так
1
|
DeleteARow(SatringGrid1, 5);// удалит пятую строку грида |
@stephania
Для удаления строки в компоненте StringGrid в Delphi следует выполнить следующие шаги:
Примерный код для удаления строки может иметь следующий вид:
1 2 3 4 5 6 7 8 9 10 11 |
procedure DeleteRow(Grid: TStringGrid; RowIndex: Integer); var I, J: Integer; begin // Удаление всех ячеек в строке for I := 0 to Grid.ColCount - 1 do for J := RowIndex to Grid.RowCount - 2 do Grid.Cells[I, J] := Grid.Cells[I, J + 1]; // Сдвиг всех строк ниже удаленной на одну строку вверх Grid.RowCount := Grid.RowCount - 1; end; |
Для удаления строк в StringGrid можно также использовать метод DeleteRow объекта TStringGrid:
1
|
StringGrid1.DeleteRow(2); // Удаление третьей строки |