Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Поведение полосы прокрутки DBGrid


Автор: SkyHawk 17.8.2006, 12:16
Народ!
Подскажите. Какое свойство отвечает за полосу прокрутки в DBGrid? То есть у меня сначала при перемещении по сетке вверх-вниз полоса прокрутки продвигается тоже по чуть-чуть, как и надо. Потом я играюсь с фильтрами, и сразу полоса прокрутки начинает чудить - если фокус на первой записи - она в самом верху, если фокус на последней записи - она в самом низу, а если фокус на всех других записях - она просто в центре. Как это можно побороть?
Сразу оговорюсь, что и после выключения фильтрации такое поведение у полосы прокрутки остается. 

Все свойства пересмотрел - не могу найти.     smile 

Автор: tigger 20.8.2006, 14:01
Нужно создать свой компанент производный от TCustomDBGrid и в нем перегрузить процедуру Scroll отвечающую за скроллинг. Я это делал под Delphi посмотрю выложу под Builder.

Автор: SkyHawk 21.8.2006, 05:12
tigger, выложи, please, буду очень ждать...

Автор: SkyHawk 22.8.2006, 04:27
Знающие люди посоветовали избавиться от использования свойства Filter, а всю фильтрацию выполнять через запросы Query. Попробовал. Возникает эксепшион: "Invalid use of keyword. Token: select. Line number: 2."  В первой строчке запрос типа "select * from base11.db;". Вторая начинается именно с select, и на нее же ругается. Почему, кто подскажет?

З.Ы. Второй запрос: "select * from base11 where name="+имя_объекта. Хотя... ругается-то на первое слово.

Автор: _hunter 22.8.2006, 10:30
потому что из базы записи выбирать нельзя.

Автор: SkyHawk 22.8.2006, 12:49
_hunter,  глупость сморозил.

Все ОК! TQuery Forever! Без использования фильтрации ч/з Filter полоса прокрутки живет!!!

З.Ы. Осталось только отредактировать исходник... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)