У меня есть TDbGrid в моем проекте, и я пытаюсь отключить событие каждый раз, когда меняю выбранную строку. Любое изменение в строке уже обновляет все элементы управления с поддержкой данных, связанные с тем же источником данных, но есть и другие изменения, для которых мне нужен обработчик событий.
Я думал, что OnColEnter будет работать. Согласно справочному файлу, он срабатывает, когда:
Пользователь перемещается к ячейке, используя
клавиатура. Например, когда
пользователь использует клавишу Tab или Home
ключ.
Пользователь нажимает кнопку мыши
вниз в камере.
SelectedField или SelectedIndex
свойство установлено.
К сожалению, он не срабатывает, когда пользователь перемещается с помощью клавиатуры, когда включена опция dgRowSelect, и OnRowEnter отсутствует. И событие OnKeyDown срабатывает до изменения выбора. Я пытаюсь смоделировать версию TListBox с учетом данных, и мне нужно что-то, чтобы заменить обработчик OnClick List Box, который, несмотря на имя, фактически отключается при каждом изменении выбора, будь то с помощью мыши или клавиатуры. Есть ли способ сделать это с помощью TDbGrid? Если нет, то должен быть какой-то другой элемент управления сеткой, который это сделает. Кто-нибудь знает, что это? (Желательно с открытым исходным кодом?)