加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 每次更改TDbGrid的选定位置时会触发什么事件?

发布时间:2020-12-15 09:09:57 所属栏目:大数据 来源:网络整理
导读:我的项目中有一个TDbGrid,每次更改所选行时我都会尝试关闭一个事件.行中的任何更改都已更新链接到同一DataSource的所有数据感知控件,但还有其他更改,我需要一个事件处理程序. 我以为OnColEnter会起作用.根据帮助文件,它在以下情况下触发: 用户使用导航到单
我的项目中有一个TDbGrid,每次更改所选行时我都会尝试关闭一个事件.行中的任何更改都已更新链接到同一DataSource的所有数据感知控件,但还有其他更改,我需要一个事件处理程序.

我以为OnColEnter会起作用.根据帮助文件,它在以下情况下触发:

>用户使用导航到单元格
键盘.例如,当
用户使用Tab键或Home
键.
>用户单击鼠标按钮
在牢房里.
> SelectedField或SelectedIndex
财产设置.

不幸的是,当用户在启用dgRowSelect选项的情况下使用键盘导航时,它不会触发,并且没有OnRowEnter.并且在进行选择更改之前会触发OnKeyDown事件.我试图在这里模拟TListBox的数据感知版本,我需要一些东西来替换List Box的OnClick处理程序,尽管名称实际上随着选择的改变而消失,无论是通过鼠标还是键盘.有没有办法用TDbGrid做到这一点?如果没有,那么必须有一些其他网格控制来完成它.有谁知道它是什么? (最好是开源?)

解决方法

OnDataChange是一种选择.另一个是,在TDataset方面,事件AfterScroll.大多数时候,我发现它比OnDataChange更实用;因为在OnDataChange中,一个滚动事件带有Field参数nil(这是一个陷阱,可能是你的AV编码的原因之一).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读