一个关于DBGrid的问题,各位帮忙看看!UP有分~!(50分)

  • 主题发起人 主题发起人 ksaiy
  • 开始时间 开始时间
K

ksaiy

Unregistered / Unconfirmed
GUEST, unregistred user!
我想这样来控制DBGrid的:
当我的鼠标放在DBGRID的任意一行上就可以获得该行的值,并把该行的值从数据库中取出来放在
Edit中,这应该怎么来实现?
 
用DBEdit啊,也是数据敏感的
 
在dbgrid事件鼠标单击事件中
 
这个要求倒是挺高级的。

是该行的值还是该格子的值,如果是行的值,估计不好办。
不过是单元格的值,则只需要做个屏幕取词就可以了,网上相关技术也不少。你可以参考。
 
我想实现的功能是当我鼠标放在某一行上,知道它的值是多少,然后再连到数据库中把该行的值从数据库中取出来.
 
同意:Adnil,既然大家都敏感,还要额外加什么动作干嘛?
 
应该放在点击事件中,或用 TDB... 数据感应控件。
 
单击事件是挺好办的;可是如果是放上去就知道,确实挺高级的,建议研究一下屏幕取词技术。
 
鼠标放上去就要获得数据。。。不会。跟词霸的样子差不多。
 
不用抓屏,那样太复杂了。
procedure Form1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if DBGrid1.MouseCoord(x,y).y >0 then
adoquery1.MoveBy(DBGrid1.MouseCoord(x,y).y - adoquery1.RecNo);
label1.Caption := (inttostr( DBGrid1.MouseCoord(x,y).X)+' '
+inttostr( DBGrid1.MouseCoord(x,y).y)) ;
end;
应该是你想要的。[:)]
 
上面的程序应该可以做到了,不过你还得加上时间判断,例如鼠标停1秒钟才执行,
否则机器会转死的。
 
后退
顶部