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