K ksaiy Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #1 我想这样来控制DBGrid的: 当我的鼠标放在DBGRID的任意一行上就可以获得该行的值,并把该行的值从数据库中取出来放在 Edit中,这应该怎么来实现?
P pukerno3 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #5 这个要求倒是挺高级的。 是该行的值还是该格子的值,如果是行的值,估计不好办。 不过是单元格的值,则只需要做个屏幕取词就可以了,网上相关技术也不少。你可以参考。
K ksaiy Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #6 我想实现的功能是当我鼠标放在某一行上,知道它的值是多少,然后再连到数据库中把该行的值从数据库中取出来.
天 天与地 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #7 同意:Adnil,既然大家都敏感,还要额外加什么动作干嘛?
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #8 应该放在点击事件中,或用 TDB... 数据感应控件。
S silverwonder Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #9 单击事件是挺好办的;可是如果是放上去就知道,确实挺高级的,建议研究一下屏幕取词技术。
R raymondcen Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #10 鼠标放上去就要获得数据。。。不会。跟词霸的样子差不多。
W weichao9999 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #11 不用抓屏,那样太复杂了。 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; 应该是你想要的。[]
不用抓屏,那样太复杂了。 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; 应该是你想要的。[]
B bluebridge Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #12 上面的程序应该可以做到了,不过你还得加上时间判断,例如鼠标停1秒钟才执行, 否则机器会转死的。