我想用按钮来删除stringgrid中用鼠标选中的行,和用按钮响应焦点在stringgrid中移动。
解决方案 »
- TClientSocket的错误处理
- BS帖
- **** 并非老调重弹!是没有好的方案!Row cannot located for updating.Some values may have been changed since it was last read
- delphi中怎样引用gif文件
- 如何在DELPHI中写接口??
- 请问那个知道那里有Delphi 7.0 的汉化补丁下载
- 不是很难,但也不简单,你有兴趣吗?请进来吧,进来瞧瞧!·。。。
- 答辩完了,感觉不错,散分
- 如何获取ClientDataSet的当前行的状态(如插入\修改等)
- 我好失望,竟然会没有一个人知道?
- 从SQL里边读出来的bin类型字段的值,怎样写入Access数据库?(ADO)
- 在InstallShield8中怎样配置BDE,后台数据库用的是sqlserver及制作安装盘的要点
procedure DeleteStringGridRow(vRow: Integer; StringGrid: TStringGrid);
var
i: Integer;
begin
if StringGrid.RowCount > vRow then
begin
for i := vRow to StringGrid.RowCount - vRow do
begin
StringGrid.Rows[i] := StringGrid.Rows[i+1];
end;
StringGrid.RowCount := StringGrid.RowCount - 1;
end;
end;//删除列
procedure DeleteStringGridCol(vCol: Integer; StringGrid: TStringGrid);
var
i: Integer;
begin
if StringGrid.ColCount > vCol then
begin
for i := vCol to StringGrid.colcount - vCol do
begin
StringGrid.cols[i] := StringGrid.cols[i+1];
end;
StringGrid.colcount := StringGrid.colcount - 1;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
vSelRow: Integer;
begin
//得到所选行
vSelRow := StringGrid1.Row;
//删除所选行
DeleteStringGridrow(vSelRow, StringGrid1);
end;