|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как DBGrid сделать пагинацию?
Подскажите, как задать максимум отображающихся записей в DBGrid?
Хочу сделать пагинацию с DBGrid. Думаю может как-то отрисовывать диапазон определенных RecNo. |
#2
|
|||
|
|||
Если уж так хочется, то делай в OnFilterRecord в источнике данных. DBGrid прото отображатель данных, на его уровне такое не делается.
А вообще, более правильно делать пейджинг с помощью запроса. Например, Oracle автоматически присваивает каждой записи в выборке RecNo. Соответсвенно, гарантировав порядок сортировки, можно сделать пейджинг с помощью простого were: Код:
select * from MyTable where recNo >= (:PageNo-1)*:PageLen and recNo < :PageNo*:PageLen |
#3
|
|||
|
|||
А как подобный запрос в MS SQL 2005 составить?
Или надо как то количество следующих n записей в адошке отфильтровывать? |
#4
|
|||
|
|||
В интернете советуют что-то такое:
Код:
SELECT *, ROW_NUMBER() OVER (ORDER BY [column name]) as rowNum FROM [table name] order by ROW_NUMBER() OVER (ORDER BY [column name]) ЗЫ. Естестенно, надо запрос доделать под твою ситуацию... |