EhLibSupport писал(а):
К сожалению простым исправлением эту проблему не решить.
Чтобы заставить DataSet.OnFilterRecord работать, Грид должен присвоить свойство DataSet.Filtered.
А если так попробовать:
В случае работы SearchPanel в режиме фильтра (фильтрующий поиск или инкрементальный фильтрующий поиск), перед началом самого поиска (когда набрали первую букву), смотрим значение Filtered и если он False, то сохраняем свойство Filter и очищаем его, а после отмены поиска возвращаем.
И кстати, провел этот же эксперимент (из первого сообщения) с
MemTableEh - там такой проблемы нет:
Значение свойства Filter не участвует в фильтрующем поиске, если на момент начала поиска свойство Filtered было False.EhLibSupport писал(а):
В вашем случае, если фильтр в текущий момент не используется,
предлагаю значение Filter хранить в отдельной переменной.
Как крайний вариант можно и так (пока я так и сделал), но это не очень удобно
Опять же, даже если Filtered до фильтрующего поиска был False (свойство Filter не пустое), то после фильтрующего поиска Filtered почему то стает True.