首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DBGrid的KeyDown事件用键盘的箭头控制纪录移动为何一次走两个?该怎么解决

2012-03-14 
DBGrid的KeyDown事件用键盘的箭头控制纪录移动为何一次走两个?移动纪录的代码:ifkeyVK_UPthenbeginself.A

DBGrid的KeyDown事件用键盘的箭头控制纪录移动为何一次走两个?
移动纪录的代码:
if   key=VK_UP     then
begin
self.ADO_CLIENT.Prior;
Edit1.Text   :=inttostr(DBGrid1.DataSource.DataSet.RecNo);
end;
if   key=VK_UP     then
begin
self.ADO_CLIENT.next;
Edit1.Text   :=inttostr(DBGrid1.DataSource.DataSet.RecNo);
end;
显示当前纪录的代码:

其中:
DBGrid指向的datasource组件是连接到了名为ADO_CLIENT的ADOQuery组件上,ADO_CLIENT的sql语句为SELECT   *   FROM   tb_Client
编译能通过,运行是键盘的上下箭头都是一次走两个.并且第一条和末一条还不大对:从第一条一按向下的箭头时Edit1显示第二条,但是已经实际到了第三条.
我对DBGrid编写了单击事件用DBGrid1.DataSource.DataSet.RecNo显示位置是正确的有趣的是我对左右的箭头没编码,它却能移动一条纪录,只是Edit1不显示.
哪位高手知道问题出在哪里了?



[解决办法]
DBGrid本身会处理 方向键,你又处理了一次,所以一下移动2条记录。

热点排行