关于OnEnter的一点小问题

javawen 2004-11-17 07:27:35
两个DBGRID分别有两个DATASOURCE,这两个DBGrid用一个DBNavigator来控制,当选中DBGrid1时DBNavigator控制DBGrid1,当选中DBGrid2时DBNavigator1控制DBGrid2;
方法是:在DBGrid1的OnEnter事件中添加如下代码:
if Sender = DBGrid1 then
DBNavigator1.DataSource:=DBGrid1.DataSource
else
DBNavigator1.DataSource:=DBGrid2.DataSource;
然后再把DBGrid2的OnEnter事件设为DBGrid2Enter
这样就可以实现用一个导航条控制两个DBGrid了.

我想问的问题是:
if Sender = DBGrid1 then
DBNavigator1.DataSource:=DBGrid1.DataSource
else
DBNavigator1.DataSource:=DBGrid2.DataSource;
这段代码中已经有了else语句来判断当DBGrid1没有选中时DBNavigator1.DataSource:=DBGrid2.DataSource
那么为什么还要再设置DBGrid2的OnEnter为DBGrid2Enter?这样岂不是重复了?但事实却是必须把DBGrid2的OnEnter写为DBGrid2Enter须把DBGrid2的OnEnter写为DBGrid2Enter.
这是为什么?
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fbysss 2004-11-18
  • 打赏
  • 举报
回复
很简单,如果你把DBGrid2的OnEnter写为DBGrid2Enter,表示DBGrid2的OnEnter事件什么也不做.
victor_yang 2004-11-18
  • 打赏
  • 举报
回复
你应该在每个dbgrid的Onenter事件写,看看书,你可能还没理解透彻事件的原理。
javawen 2004-11-18
  • 打赏
  • 举报
回复
自顶

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧