Delphi想TStringGrid中添加和删除行的方法


本文整理自网络,侵删。

 
{...}
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    {...}
  public
    {...}
  end;

type
  TStringGridHack = class(TStringGrid)
  protected
    procedure DeleteRow(ARow: Longint); reintroduce;
    procedure InsertRow(ARow: Longint);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TStringGridHack.DeleteRow(ARow: Longint);
var
  GemRow: Integer;
begin
  GemRow := Row;
  if RowCount  FixedRows + 1 then
    inherited DeleteRow(ARow)
  else
    Rows[ARow].Clear;
  if GemRow then Row := GemRow;
end;

procedure TStringGridHack.InsertRow(ARow: Longint);
var
  GemRow: Integer;
begin
  GemRow := Row;
  while ARow do Inc(ARow);
  RowCount := RowCount + 1;
  MoveRow(RowCount - 1, ARow);
  Row := GemRow;
  Rows[Row].Clear;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Insert Row, Zeile hinzufügen
  TStringGridHack(StringGrid1).InsertRow(1);
  // Remove Row, Zeile entfernen
  TStringGridHack(StringGrid1).DeleteRow(2);
end;

end.
//该代码片段来自于: http://www.sharejs.com/codes/delphi/8760

相关阅读 >>

Delphi xe10 创建匿名线程

Delphi jpeg压缩的两种方法

Delphi 使用onvalidate事件或onvalidating事件验证在输入字段(tedit)中输入的值

Delphi 判断字符是否是数字

Delphi 利用for循环自我复制到全盘用timer监控

Delphi xe的firemonkey获取当前文件所在路径的方法

Delphi android路径 tpath 文件路径,文件管理

Delphi绘制标题栏

Delphi串口api函数

Delphi fmx jpg 保存数据库 从数据库读取

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...