Страница 1 из 1

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

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

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

Добавлено: 09 дек 2010, 06:37
SunDevil
Используй grid из библиотеки EhLib.
Это глюк DBGrid, а не компонентов доступа

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

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

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

Добавлено: 10 дек 2010, 14:42
Dimitry Sibiryakov
Анализ исходников тебе поможет, благо и для грида и для фибов они доступны.

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

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

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

Добавлено: 11 дек 2010, 14:33
Dimitry Sibiryakov
Если хочешь сэкономить время, выкинь связку DataSet+Grid, переходи на TpFIBQuery+TListView.

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

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