S
sgcn2009
Unregistered / Unconfirmed
GUEST, unregistred user!
http://topic.csdn.net/t/20050708/20/4132603.html
如果只用StringGrid给出的方法,确实只有值移动了。
但如果你看过StringGrid的源码,而又有兴趣去改一下它的话,可以只交换这些行的指针就可以了
打开Grids.pas文件,在 TStringGrid中加上
procedure TStringGrid.ExchangeRow(ARow, BRow: integer);
begin
TSparseList(FData).Exchange(ARow, BRow);
Repaint;
end;
有了这个ExchangeRow方法后,要完成楼主的想法,易如反掌。
这样比进行逐行的赋值交换要快得多。
以上是这个 高手的回答 我想知道的是:
当我在 Grids.pas 编译的时候 提示 TSparseList 不存在?
如果只用StringGrid给出的方法,确实只有值移动了。
但如果你看过StringGrid的源码,而又有兴趣去改一下它的话,可以只交换这些行的指针就可以了
打开Grids.pas文件,在 TStringGrid中加上
procedure TStringGrid.ExchangeRow(ARow, BRow: integer);
begin
TSparseList(FData).Exchange(ARow, BRow);
Repaint;
end;
有了这个ExchangeRow方法后,要完成楼主的想法,易如反掌。
这样比进行逐行的赋值交换要快得多。
以上是这个 高手的回答 我想知道的是:
当我在 Grids.pas 编译的时候 提示 TSparseList 不存在?