StringGrid删除选定的多行或者多列如何操作 ( 积分: 10 )

  • 主题发起人 主题发起人 yahoo123
  • 开始时间 开始时间
Y

yahoo123

Unregistered / Unconfirmed
GUEST, unregistred user!
StringGrid删除选定的多行或者多列如何操作 [达到Excel的效果]

以下是单行、单列的方法
---------------------------------------
StringGrid
type
TExCell = class(TStringGrid)

public
procedure DeleteRow(ARow: Longint);
procedure DeleteColumn(ACol: Longint);
procedure InsertRow(ARow: LongInt);
procedure InsertColumn(ACol: LongInt);
end;

procedure TExCell.InsertColumn(ACol: Integer);
begin
ColCount :=ColCount +1;
MoveColumn(ColCount-1, ACol);
end;

procedure TExCell.InsertRow(ARow: Integer);
begin
RowCount :=RowCount +1;
MoveRow(RowCount-1, ARow);
end;

procedure TExCell.DeleteColumn(ACol: Longint);
begin
MoveColumn(ACol, ColCount -1);
ColCount := ColCount - 1;
end;

procedure TExCell.DeleteRow(ARow: Longint);
begin
MoveRow(ARow, RowCount - 1);
RowCount := RowCount - 1;
end;
 
用户可能连续选择多行后,再间隔选择几行,估计实现起来比较困难。
 
只要实现用户连续选择多行后的删除,或者选择多列后删除(连续选择多列如何做还不会)
 
最简单的办法。
把列的TEXT值赋给一个TSTRINGLIST,然后操作这个TSTRINGLIST,完了再赋TEXT值回去
 
接受答案了.
 
后退
顶部