Мне нужна помощь по следующей проблеме. У меня есть dbgrid, базовый запрос фильтруется. Я хочу применить новый фильтр, но остаюсь с тем же номером строки в dbgrid. Вот мой код:Использование закладок с отфильтрованным запросом
with qrProperties do
begin
...
MyPoint:=GetBookmark;
Filter:='N<>'+IntToStr(ResultPropertyN);
Filtered:=True;
GotoBookmark(MyPoint);
end;
Когда он запускается на выполнение, EDBEngineError поднимается с сообщением «Не удалось найти запись». Мое объяснение заключается в том, что функции закладок не учитывают фильтр, а процедура GotoBookmark ищет запись, отсутствующую в dbgrid (из-за применяемого фильтра). Есть ли способ использовать закладки с фильтрами?
Подробнее. В моем приложении, когда я дважды нажимаю на строку в dbgrid, она исчезает (из-за применения фильтра), но в результате фильтрации курсор перемещается в первую строку (если я не использую закладки). Я хочу, чтобы он оставался с тем же номером строки, который должен перейти к записи, показанной сразу после той, которая была удалена.
Какое поведение вы ожидаете, если GotoBookmark не сможет найти запись, поскольку это не функция? – bummi