脚本宝典收集整理的这篇文章主要介绍了Delphi中StringGrid删除,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
开发环境D7只是部分代码StringGrid1事先固定了行数为20,固定了一行为标题行
----实现单行删除内容(StringGrid1事先固定了行数为20,固定了一行为标题行),没有固定多少行的时候请适当改写,这个是本人测试代码
1 var 2 i:Integer; 3 begin 4 if StringGrid1.RowCount<2 then 5 begin 6 Exit; 7 end; 8 StringGrid1.Rows[StringGrid1.Row].Clear; 9 if StringGrid1.Row=StringGrid1.RowCount-1 then 10 Exit; 11 for i:=StringGrid1.Row to StringGrid1.RowCount-2 do 12 begin 13 StringGrid1.Rows[i]:=StringGrid1.Rows[i+1]; 14 StringGrid1.Rows[i+1].clear; 15 end; 16 17 end;
--------增加行
StringGrid1.RowCount:=StringGrid1.RowCount+1;
---------减少行
StringGrid1.RowCount:=StringGrid1.RowCount-1;
----------Showhint 单元格内容
1 procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; 2 X, Y: Integer); 3 begin 4 if (StringGrid1.MouseCoord(x,y).X>StringGrid1.ColCount-1) or (StringGrid1.MouseCoord(x,y).X<0) then 5 Exit; 6 if (StringGrid1.MouseCoord(x,y).Y>StringGrid1.RowCount-1) or (StringGrid1.MouseCoord(x,y).Y<0) then 7 Exit; 8 StringGrid1.Hint:=StringGrid1.Cells[StringGrid1.MouseCoord(x,y).X,StringGrid1.MouseCoord(x,y).Y]; 9 end;
--------------为单元格赋值 标题行不赋值
1 var 2 i,j:Integer; 3 begin 4 for i:=0 to StringGrid1.ColCount-1 do 5 begin 6 for j:=0 to StringGrid1.RowCount-1 do 7 begin 8 if j=0 then 9 begin 10 Continue; 11 end; 12 StringGrid1.Cells[i,j]:=Format('i:=%d ;j:=%d',[i,j]); 13 end; 14 end; 15 end;
---------------清空StringGrid的内容(标题行不清除)
1 var 2 i:Integer; 3 begin 4 for i:=1 to StringGrid1.RowCount-1 do 5 StringGrid1.Rows[i].Clear; 6 end;
以上是脚本宝典为你收集整理的Delphi中StringGrid删除全部内容,希望文章能够帮你解决Delphi中StringGrid删除所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。