TstringGrid问题(85分)

  • 主题发起人 主题发起人 zxl1000
  • 开始时间 开始时间
Z

zxl1000

Unregistered / Unconfirmed
GUEST, unregistred user!
删除TstringGrid中的任一行.
急!!!
谢谢!!
 
这是数据结构的问题了
要删除第N行
for i:= N to 行数 do
for j:= 1 to 列数 do begin
stringgrid1.cell[j,i]:= stringgrid1.cell[j,i+1];
end;
就是把第N+1行覆盖第N行。。。。。。。。
 
删除指定的第几行,可一次一行或多行.
procedure TKStringGrid.DeleteRow(Row: integer;Count:integer=1);
var i,j:integer;
begin
if (Row<0) or (Row>=RowCount) then exit;
if Count<1 then exit;
for i:=1 to Count do
begin
for j:=Row to RowCount-1 do
begin
Rows[j] := Rows[j+1];
end;
Rows[j].Clear;
RowCount:=RowCount-1;
end;
end;
 
to : zhangkan
问题是这个i,j 的值如何取得,
而且RowCount:=RowCount-1 删除的不是指定行
 
你先用鼠标指定该行三,这是我写的增强的TStringGrid,我都在用呀,怎么不行?你试过没有?
for i:=1 to Count do是你有多少行要删除的一个循环.
for j:=Row to RowCount-1 do是从当前行到最末行的一个循环.
 
i,j是for循环中的变量,取值是循环递增的
思路是把后面的字符数组逐行向上移,然后删除最后的行就行了。
row是第几行,count是要删除的行数
 
多人接受答案了。
 
后退
顶部