Удаление и добавление столбцов и колонок
Автор: Dennis Passmore
Поскольку свойство Cols[x] компонента TStringGrid реально является компонентом TStrings, все методы TStrings применимы также и к Cols[x].
Недавно в интернете я нашел реализацию расширенных функций TStringGrid:
- Подробности
- Родительская категория: StringGrid
- Категория: Удаление и добавление столбцов и колонок
Code: |
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; |
- Подробности
- Родительская категория: StringGrid
- Категория: Удаление и добавление столбцов и колонок
Code: |
procedure TForm1.Button1Click(Sender: TObject); var i, k: Integer; begin with StringGrid1 do for i := 0 to ColCount - 1 do for k := 0 to RowCount - 1 do Cells[i, k] := ''; end; |
- Подробности
- Родительская категория: StringGrid
- Категория: Удаление и добавление столбцов и колонок
Code: |
Procedure GridAddColumn(StrGrid: TStringGrid; NewColumn: Integer); Var Column: Integer; begin StrGrid.ColCount := StrGrid.ColCount+1; For Column := StrGrid.ColCount-1 downto NewColumn do StrGrid.Cols[Column].Assign(StrGrid.Cols[Column-1]); StrGrid.Cols[NewColumn-1].Text := ''; end; |
- Подробности
- Родительская категория: StringGrid
- Категория: Удаление и добавление столбцов и колонок
Code: |
Procedure GridRemoveColumn(StrGrid: TStringGrid; DelColumn: Integer); Var Column: Integer; begin If DelColumn <= StrGrid.ColCount then Begin For Column := DelColumn To StrGrid.ColCount-1 do StrGrid.Cols[Column-1].Assign(StrGrid.Cols[Column]); StrGrid.ColCount := StrGrid.ColCount-1; End; end; |
- Подробности
- Родительская категория: StringGrid
- Категория: Удаление и добавление столбцов и колонок
Можно сделать наследника от TCustomGrid. А у последнего есть метод - DeleteRow.
Автор: Song
Например удаление текущей строки:
Code: |
Type TFakeGrid=class(TCustomGrid); {©Drkb v.3(2007): www.drkb.ru, ®Vit (Vitaly Nevzorov) - Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.}
procedure TForm1.MyDelete(Sender: TObject); begin TFakeGrid(Grid).DeleteRow(Grid.row); end; |
- Подробности
- Родительская категория: StringGrid
- Категория: Удаление и добавление столбцов и колонок