Показать сообщение отдельно
  #2  
Старый 17.09.2016, 23:11
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Если уж так хочется, то делай в OnFilterRecord в источнике данных. DBGrid прото отображатель данных, на его уровне такое не делается.
А вообще, более правильно делать пейджинг с помощью запроса. Например, Oracle автоматически присваивает каждой записи в выборке RecNo. Соответсвенно, гарантировав порядок сортировки, можно сделать пейджинг с помощью простого were:
Код:
select * from MyTable
where recNo >= (:PageNo-1)*:PageLen and recNo < :PageNo*:PageLen
ЗЫ. Границы лучше рассчитывать на клиенте, в SQL я просто для лучшего понимания написал.
Ответить с цитированием