Создаю компонент TDBCheckListBox -- список значений из таблици БД с возможностю выбора. Для связи с БД взял TFieldDataList. Второй день бьюсь с синхронизацией, т.е. чтоб когда двигатся в гриде по записям в лист-боксе тоже выделялась соответствующая запись. Переопределил процедуру:
procedure TZDBCLBDataLink.DataSetScrolled(Distance: Integer);
begin
inherited;
if ValidListField then
with FCheckListBox do
ItemIndex := Items.IndexOf(DataSet.FieldByName(FieldName).AsString);
end;
Все работает при перемещении с помощю стрелок, мышки, вызова Next, First, Last, Prev, но вызов функции Locate пропускает это событие. Как сделать так, чтоб не пропускал?