Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вид DBGrida - как его улучшить? [D7]


Goida ©   (2003-11-21 10:45:00) 

Хочу чтобы ползунок в DBGrid"еотражал реальную просматриваемую позицию. Сейчас только три положения: верхнее, посередине и внизу. Это очень плохо.
Подскажите что делать?

Спасибо.


Riland   (2003-11-22 11:56:00) [1]

Для ответа на твой вопрос не достаточно данных.
На какой БД ты хочешь получить плавный скролинг?
Если на DBF или Paradox то все должно работать, при условии
что ты не накладываешь фильтр на dataset.

А вообще сделай следующее, скопируй в папку своего проекта файл
с описанием компонента TDBGRID (если используешь стандартный)
и посмотри событие на скроллинг мышкой (в отладке).
Именно в нем и задается как будет работать твой скроллинг

А вообще для неболього количества записей использу TDbgridEH, там
есть свойство VirtualRecord, которое и позволит решить твою задачу


Vemer   (2003-11-22 11:19:00) [2]

Сделай Fetchall данным и ползунок скорей всего нормализуется.


sniknik   (2003-11-22 01:47:00) [3]

> Думаю: RecordCount = 20 и RecNo = 0. Может такое быть?
думаеш или проверил? если показывает 20 (и там их действительно столько) а не увеличивающееся значение (данные дакачиваются с сервера) и RecNo имеет значения (а не -1), то и прокрутка должна быть плавной.

но раз она не плавная значит чтото не так (каких то данных нет, движок не дает), и чтобы это изменить нужно поменять метод доступа а не руками задавать значение скролингу (потому как если будеш задавать то что? сам откуда получиш данные?).


Goida   (2003-11-21 23:32:00) [4]

To Ломброзо
Нет, имеется ввиду то, что ползунок будет отражать положение курсора в таблице. Если мы находимся на 1/3 от конца всех записей, то и ползунок - на 1/3 от нижнего положения.


Ломброзо   (2003-11-21 23:23:00) [5]

Видать, имеется в виду плавный скроллинг, а не скачками


Goida   (2003-11-21 23:02:00) [6]

> дальше зависит от того что они возвращают, значения. "Именно так" не может быть тип должен быть integer.

Думаю: RecordCount = 20 и RecNo = 0. Может такое быть? Если да, то что дальше. Не могу понять к чему ты клонишь %/


sniknik   (2003-11-21 22:51:00) [7]

> Но я не пойму что дальше.
дальше зависит от того что они возвращают, значения. "Именно так" не может быть тип должен быть integer.


Goida   (2003-11-21 22:43:00) [8]

>sniknik
>проверь что у тебя возвращает RecordCount и RecNo твоего >датасета.
Именно так. Но я не пойму что дальше. Или то, чего я хочу того не стоит???


sniknik   (2003-11-21 22:38:00) [9]

Goida © (21.11.03 22:34) [3]
по каким критериям?
проверь что у тебя возвращает RecordCount и RecNo твоего датасета.


Goida   (2003-11-21 22:34:00) [10]

А самому можно позиционировать ползунок?


sniknik   (2003-11-21 11:03:00) [11]

Goida © (21.11.03 10:45)
можеш например пользоватся ADO c клиентским курсором, в таком случае ресордсет получает все данные, есть реальное значение количества записей в нем и текущяя позиция. как следствие "улучшительная" работа подвязаного к нему DBGrid-а.

(ADO не обязательно, нужно только чтобы используемый движок предоставлял эту информацию)


Johnmen   (2003-11-21 10:55:00) [12]

Это зависит не от грида, а от движка БД, который ты используешь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо