Плавный скролинг в dbgrid ?
От: linker Россия  
Дата: 20.04.05 11:00
Оценка:
Как реализовать?А то мышкой цепляешься за бегунок scroll'a передвигаешь его а таблица вмести с ним не передвигается.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Плавный скролинг в dbgrid ?
От: fetis  
Дата: 21.04.05 06:40
Оценка: -1
Здравствуйте, linker, Вы писали:

L>Как реализовать?А то мышкой цепляешься за бегунок scroll'a передвигаешь его а таблица вмести с ним не передвигается.


Забейте, для того чтобы был плавный скроллинг нужно зафетчить все записи и то это не всегда помогает. Таков уж принцип работы DataSet'a.
Re[2]: Плавный скролинг в dbgrid ?
От: linker Россия  
Дата: 21.04.05 06:47
Оценка:
Здравствуйте, fetis, Вы писали:

F>Здравствуйте, linker, Вы писали:


L>>Как реализовать?А то мышкой цепляешься за бегунок scroll'a передвигаешь его а таблица вмести с ним не передвигается.


F>Забейте, для того чтобы был плавный скроллинг нужно зафетчить все записи и то это не всегда помогает. Таков уж принцип работы DataSet'a.


Я то может и забью, но всетаки хочется как то решить эту проблему, а то не очень красиво,да и не удобно,Юзверь прибежал и пожаловался что мол неудобно и хочет чтобы скролл как в ехlel такой же был.Он цепляется за этот бегунок перетаскивает его и попадает не туда куда надо,т.е он вообще не знает куда попадет при таком перетаскивании бегунка.Может кто поборол такую проблему.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Плавный скролинг в dbgrid ?
От: kavlad Россия http://www.wavesoft.ru
Дата: 21.04.05 06:47
Оценка:
Здравствуйте, fetis, Вы писали:

F>Забейте, для того чтобы был плавный скроллинг нужно зафетчить все записи и то это не всегда помогает. Таков уж принцип работы DataSet'a.


Если очень хочется — то сделать это не такая уж проблема.
Спмый простой вариант вы уже предложили — полный фетч.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[3]: Плавный скролинг в dbgrid ?
От: kavlad Россия http://www.wavesoft.ru
Дата: 21.04.05 07:11
Оценка:
Здравствуйте, linker, Вы писали:

Я использую промежуточный датасет с фиктивными записями, чтобы грид знал общее количесвто записей и правильно расположаг бегунок.
Датасет берется здесь
Автор(ы): Максим Гумеров
Дата: 18.09.2003
Как обеспечить единообразную работу с данными, хранящимися в БД (DBase, Interbase, MS SQL Server и т.п.), и с другими, в частности, с локальными данными программы? В статье рассматривается создание потомка TDataSet для организации "виртуальной" БД на базе произвольного источника данных.
.
Данные реально хранятся в списке TObjectList, каждый объект соотвествкет строке грида.
Объекты изначально пустые, заполняются только поля первичного ключа.
При необходимости идет заполнение каждого объекта данными из БД.
Правда усложняется работа с БД. Вместо одного запроса используется несколько:
— сначала загружаются все поля первичного ключа и создаются "пустые" объекты для фиктивных записей.
— при необходимости отрисовать грид формируется запрос на загрузку незаполненных полей у видимых строк полей.

Пример:
таблица TEST1 поля ID INTEGER, NAME VARCHAR(100), ID — первичный ключ
И необходимо отобразить записи все запсиси — SELECT * FROM TEST1 ORDER BY NAME
Сначала будет выполнен запрос SELECT ID FROM TEST1 ORDER BY NAME.
Затем по мере необходимости будут формироваться зпросы SELECT NAME FROM TETS1 WHERE ID IN (список ID записей видимых на экране).
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[4]: Плавный скролинг в dbgrid ?
От: linker Россия  
Дата: 21.04.05 07:15
Оценка:
Здравствуйте, kavlad, Вы писали:

K>Здравствуйте, linker, Вы писали:


K>Я использую промежуточный датасет с фиктивными записями, чтобы грид знал общее количесвто записей и правильно расположаг бегунок.

K>Датасет берется здесь
Автор(ы): Максим Гумеров
Дата: 18.09.2003
Как обеспечить единообразную работу с данными, хранящимися в БД (DBase, Interbase, MS SQL Server и т.п.), и с другими, в частности, с локальными данными программы? В статье рассматривается создание потомка TDataSet для организации "виртуальной" БД на базе произвольного источника данных.
.

K>Данные реально хранятся в списке TObjectList, каждый объект соотвествкет строке грида.
K>Объекты изначально пустые, заполняются только поля первичного ключа.
K>При необходимости идет заполнение каждого объекта данными из БД.
K>Правда усложняется работа с БД. Вместо одного запроса используется несколько:
K>- сначала загружаются все поля первичного ключа и создаются "пустые" объекты для фиктивных записей.
K>- при необходимости отрисовать грид формируется запрос на загрузку незаполненных полей у видимых строк полей.

K>Пример:

K>таблица TEST1 поля ID INTEGER, NAME VARCHAR(100), ID — первичный ключ
K>И необходимо отобразить записи все запсиси — SELECT * FROM TEST1 ORDER BY NAME
K>Сначала будет выполнен запрос SELECT ID FROM TEST1 ORDER BY NAME.
K>Затем по мере необходимости будут формироваться зпросы SELECT NAME FROM TETS1 WHERE ID IN (список ID записей видимых на экране).

Спасибо, попробую.У меня вопрос по поводу тормозов с таким методом(будет ли притормаживать или нет).
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[5]: Плавный скролинг в dbgrid ?
От: kavlad Россия http://www.wavesoft.ru
Дата: 21.04.05 07:24
Оценка:
Здравствуйте, linker, Вы писали:

L>Спасибо, попробую.У меня вопрос по поводу тормозов с таким методом(будет ли притормаживать или нет).


Конечно будет.
Как сильно будет тормозить зывисит от различных факторов — от сервера, от нагрузки на него, от структуры БД и запросов, от количества выбираемых записей и даже от разрешения экрана на клиентском месте.
В целом небольшое торможение заметно глазу. Моих пользователей скорость вполне устраивает.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.