【发布时间】:2010-09-22 15:00:23
【问题描述】:
我的项目中有一个 TDbGrid,我试图在每次更改所选行时触发一个事件。行中的任何更改都已更新链接到同一数据源的所有数据感知控件,但还有其他更改需要进行,我需要一个事件处理程序。
我认为 OnColEnter 会起作用。根据帮助文件,它在以下情况下触发:
用户导航到单元格使用 键盘。例如,当 用户使用 Tab 键或 Home 钥匙。
用户单击鼠标按钮 在牢房里。
SelectedField 或 SelectedIndex 属性已设置。
不幸的是,当用户在启用 dgRowSelect 选项并且没有 OnRowEnter 时使用键盘导航时,它确实不会触发。 OnKeyDown 事件在选择更改之前触发。我正在尝试在这里模拟 TListBox 的数据感知版本,并且我需要一些东西来替换列表框的 OnClick 处理程序,尽管名称实际上在任何时候更改选择时都会消失,无论是通过鼠标还是键盘。有什么办法可以用 TDbGrid 做到这一点?如果没有,则必须有其他一些网格控件可以做到这一点。有谁知道它是什么? (最好是开源的?)
【问题讨论】:
-
您尝试过 OnScrollData 吗?它应该工作!
标签: delphi datagrid event-handling