Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Полосы прокрутки не работают после фильтрации DBGrid  [new]
bors
Member

Откуда:
Сообщений: 27
Знающие, подскажите пожалуйста кто сталкивался.

Делаю выборку из бд в DBGrid. После этого делаю фильтрацию церез filter/filtered. НО, после этого перестаёт нормально функционировать вертикальный скроллбар. А именно: у него не меняется размер от начального (скроллбары не пропорциональны), и есть только 3 положения (верхнее, среднее и нижнее). При всем этом адекватно работает перед фильтрацией. Читая похожее в интернете понимаю что задачка не из простых. Буду рад любой помощи и спасибо!

Сообщение было отредактировано: 18 ноя 20, 15:23
18 ноя 20, 15:25    [22234663]     Ответить | Цитировать Сообщить модератору
 Re: Полосы прокрутки не работают после фильтрации DBGrid  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Задачка из простых. Всё дело в волшебных пузырьках потомке TDataSet возвращающем
(или не возвращающем) полное количество записей в наборе данных и позицию текущей.

Posted via ActualForum NNTP Server 1.5

18 ноя 20, 15:31    [22234672]     Ответить | Цитировать Сообщить модератору
 Re: Полосы прокрутки не работают после фильтрации DBGrid  [new]
bors
Member

Откуда:
Сообщений: 27
Dimitry Sibiryakov,

логично. Однако, как заставить его возвращать кол-во записей и позицию? А вообще, текущая позиция себя ведет в принципе странным образом
18 ноя 20, 15:41    [22234682]     Ответить | Цитировать Сообщить модератору
 Re: Полосы прокрутки не работают после фильтрации DBGrid  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

bors
Однако, как заставить его возвращать кол-во записей и позицию?

Готовый, если этого не делает сам, то его уже никак не заставишь. Но всегда можно написать
свой собственный, с блэкджеком и шлюхами.

Posted via ActualForum NNTP Server 1.5

18 ноя 20, 15:45    [22234686]     Ответить | Цитировать Сообщить модератору
 Re: Полосы прокрутки не работают после фильтрации DBGrid  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 26836
bors
Однако, как заставить его возвращать кол-во записей и позицию?

Как костыль: дёрнуть Last.
18 ноя 20, 15:49    [22234694]     Ответить | Цитировать Сообщить модератору
 Re: Полосы прокрутки не работают после фильтрации DBGrid  [new]
s62
Member

Откуда: Жуковский
Сообщений: 1199
В IBX у IBDataset есть метод FetchAll.
Пользовался им, например, когда есть выпадающий список TDBLookupComboBox, бывало, насколько помню, что если это не делать, то, пока в выпавшем списке вниз не прокрутишь, не все записи показывались.
18 ноя 20, 16:33    [22234739]     Ответить | Цитировать Сообщить модератору
 Re: Полосы прокрутки не работают после фильтрации DBGrid  [new]
Док
Member

Откуда: Казань
Сообщений: 6900
bors
Делаю выборку из бд в DBGrid. После этого делаю фильтрацию церез filter/filtered.

как вариант для развлекухи, можно фильтрацию/сортировку делать средствами сервера, а действия "имитировать" на клиенте, формируя запрос динамически в коде. ИМХО, тащить в грид 100500 записей и там раскладывать из них пасьянс - не комильфо
18 ноя 20, 17:42    [22234794]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить