Система С++ Builder предоставляет возможность перемещения по набору данных, в котором фильтрация выключена, как по отфильтрованному. Методы FindFirst, FindLast, FindNext и FindPrior перемещают указатель текущей записи соответственно на первую, последнюю, следующую и предыдущую записи, удовлетворяющие условиям фильтрации.
Условия фильтрации должны быть заданы предварительно с помощью выражения фильтра Filter и/или обработчика события OnFilterRecord. При этом фильтр может быть выключен путем установки свойству Filtered значения false. На время действия каждого из названных методов набор данных автоматически переводится в режим dsFiiter, в результате чего записи временно фильтруются, и осуществляется переход на требуемую запись. Связанные с набором данных визуальные компоненты на время фильтрации отображают прежний состав записей набора данных. В результате пользователь не видит хода временной фильтрации, хотя ему запрещено изменять записи, пока набор данных находится в режиме dsFiiter.
Таким образом, методы FindFirst, FindLast, FindNext и FindPrior обеспечивают навигацию по записям, удовлетворяющим условиям фильтра, в неотфильтрованном наборе данных.
При действии методов FindFirst, FindLast, FindNext и FindPrior используется механизм фильтрации, последовательно перебирающий все записи набора данных, поэтому их применение эффективно только для относительно небольших наборов данных.
На время выполнения названных методов набор данных автоматически переводится в режим dsFiiter, поэтому если до вызова любого из методов имелись записи, изменения в которых не были подтверждены, то изменения теряются.