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 程序嵌入桌面效果的实现

Delphi中判断窗体最大化和最小化事件

Delphi 进制转换之10进制与34进制互转

Delphi shellexecute调用系统命令关闭计算机

Delphi 结构化文件存取

Delphi 计算运行耗时的方法1

Delphi fmx获取屏幕方向

Delphi stringgrid 加载excel表格文件内容自动宽度

Delphi api: setwindowpos改变窗口的位置与状态

decodedate:从一个tdatetime变量中提取年、月、日数值

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



打赏

取消

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

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

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

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

评论

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