Скроллинг FibPlus DataSet-a

Вопросы стыковки визуальных компонент (DataControls, EhGrid, VirtualTreeView, DevExpress и т.п.) с данными из БД.

Модераторы: kdv, CyberMax

Ответить
Anthony
Сообщения: 7
Зарегистрирован: 08 дек 2010, 23:41

Скроллинг FibPlus DataSet-a

Сообщение Anthony » 09 дек 2010, 00:03

Использую DataSet из палитры компонент FibPlus, данные хранятся в Firebird SQL сервер.
Данные DataSet-a отображаются в DBGrid. Вот какой вопрос: ставлю указатель в середину
сетки DBGrid. Далее - на вертикальной полосе прокрутки DBGrid-a нажимаю кнопку "Вниз"
Почему указатель с текущей записи перемещается сразу вниз DBGrid-a, а не остаётся на
той-же записи, где был поставлен?
С компонентами IBX - та же история. Если же крутить данные не из IB-сервера - а из
локальной СУБД, то такого не происходит..
Кто знает, подскажите, этот эффект всегда при работе DataSet с данными SQL сервера?
Очень неудобно перемещаться по таблице записями - оставляешь указатель на нужной
записи, и как только пользуешься прокруткой, чтобы посмотреть содержимое соседних
записей - указатель слетает...

SunDevil
Сообщения: 34
Зарегистрирован: 05 дек 2008, 22:22

Re: Скроллинг FibPlus DataSet-a

Сообщение SunDevil » 09 дек 2010, 06:37

Используй grid из библиотеки EhLib.
Это глюк DBGrid, а не компонентов доступа

Anthony
Сообщения: 7
Зарегистрирован: 08 дек 2010, 23:41

Re: Скроллинг FibPlus DataSet-a

Сообщение Anthony » 10 дек 2010, 04:51

...А я и использую DBGridEh. Дело не в гриде, я думаю. Я попробовал вставить компоненты для доступа к своей Firebird базе прямо в демонстрационный
пример DBGridEh, временно отключив его от своих локальных таблиц, которые используются в Демо, и подключил к SQL серверу - и сразу начался тот же
самый эффект, скроллинг начал работать очень странно и неудобно. Что делать с этим - не зню...

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Скроллинг FibPlus DataSet-a

Сообщение Dimitry Sibiryakov » 10 дек 2010, 14:42

Анализ исходников тебе поможет, благо и для грида и для фибов они доступны.

Anthony
Сообщения: 7
Зарегистрирован: 08 дек 2010, 23:41

Re: Скроллинг FibPlus DataSet-a

Сообщение Anthony » 10 дек 2010, 15:36

Dimitry Sibiryakov писал(а):Анализ исходников тебе поможет, благо и для грида и для фибов они доступны.
Возможно... Только это занимает очень много времени. Я думал, может кто-то сталкивался с подобной задачей,
поэтому и написал на форум...

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Скроллинг FibPlus DataSet-a

Сообщение Dimitry Sibiryakov » 11 дек 2010, 14:33

Если хочешь сэкономить время, выкинь связку DataSet+Grid, переходи на TpFIBQuery+TListView.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Скроллинг FibPlus DataSet-a

Сообщение kdv » 16 дек 2010, 10:11

Почему указатель с текущей записи перемещается сразу вниз DBGrid-a, а не остаётся на
той-же записи, где был поставлен?
я должен заметить, что Дмитрий переборщил в ответах, предложив переписывать грид, а на самом деле
ответ в том, что так работает грид с SQL-серверами.
а из локальной СУБД, то такого не происходит..
под "локальной СУБД" имеете в виду навигационную dbf и paradox? так там сразу известно сколько записей в таблице. А в sql сервере количество записей, возвращаемых большинством запросов, неизвестно.
Очень неудобно перемещаться по таблице записями - оставляешь указатель на нужной
записи, и как только пользуешься прокруткой, чтобы посмотреть содержимое соседних
записей - указатель слетает...
Вы еще и о буферизации не в курсе, наверное. Сколько записей в грид выбираете?
В общем, Вам на форум по Дельфи, или книжку хорошую, читать про особенности работы с sql субд.

Ответить