StringGrid动态产生一个新行问题
StringGrid作为用记录入数据界面,以下代码是实现点击时产生一个新行,问题是:当StringGrid中有数据时,即用户保存过单据,再修改StringGrid处于可编辑状态,执行以下代码会在新产生的行中显示上一行的数据,也就是说产生了一个有数据的行,数据与上一行相同。百思不得其解呀,,,
procedure TForm10.GridsClick(Sender: TObject);
//***********鼠标点击时产生一个新行***********//
if (StringGrid.Row=StringGrid.RowCount-1)and (nbNew.Enabled=False)and(nbSave.Enabled=True) then
StringGrid.RowCount:=StringGrid.RowCount+1;
StringGrid.Rows[StringGrid.RowCount].Clear;
StringGrid.Refresh;
end;
[解决办法]
StringGrid.Rows[StringGrid.RowCount].Clear;
换成
StringGrid.Rows[StringGrid.RowCount-1].Clear;