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

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

Что делать со скроллингом в DBGrid [D5, Paradox]


Страницы:   1 2

TankMan ©   (2004-05-04 09:55:00) 

И всетаки...что делать со скроллингом в dbgrid, он какой-то долбанутый... кто dbgrid видел в действии меня поймет, а вот как исправить подобный косяк я даже и не знаю :(... может кто подскажет, я использую Table и DataSource... там ничего хорошего так и не нашел :(


TankMan   (2004-05-05 18:14:00) [1]

Да да именно в этом... :)


SergP   (2004-05-05 17:01:00) [2]


> > 2. Ширина ползунка не соответствует отношению отображаемых
> записей к всем записям.
> серьезно? у меня разграничивается, на меньшем количестве
> ползунок шире и чем больше записей тем он меньше (до определенного
> предела), может зависит от системы? виндов, у меня w2k.
> (хотя (?) не должно). посмотри еще, неужели при 2х записях
> и при 200 к примеру у ползунка одинаковый размер?  


Ширина ползунка конечно зависит от кол-ва записей.
Но как-то более привычно когда отношении ширины (вернее высоты) ползунка к высоте всего бара должно быть равным отношению количества отображаемых записей к количеству всех записей.
Но у DBGRid это не так. И несоответствием этого он и отличается от других компонентов. И именно это кстати и не нравится народу...


> кстати в других компонентах скрол похоже завязан на страницу
> а у грида/стринг грида на запись,


Вот ИМХО в этом и вся проблема....


sniknik   (2004-05-05 15:30:00) [3]

> 1. Бар присутствует даже тогда когда количество записей меньше того что может влезть в ГРИД.
легко убрать, но тогда скрол по таблице колесиком мыши/тяглом за ползунок тоже придется убирать или переделывать (оно на него завязано). и еще мигание на первых и последних записях будет. :( не, лутше как есть.

> 2. Ширина ползунка не соответствует отношению отображаемых записей к всем записям.
серьезно? у меня разграничивается, на меньшем количестве ползунок шире и чем больше записей тем он меньше (до определенного предела), может зависит от системы? виндов, у меня w2k. (хотя (?) не должно). посмотри еще, неужели при 2х записях и при 200 к примеру у ползунка одинаковый размер?  

кстати в других компонентах скрол похоже завязан на страницу а у грида/стринг грида на запись, попробуй сам сравнить считая 1 запись равной 1 странице в мемо к примеру. 1-запись/страница ползуека нет, 2 - есть широкий, ... ? не так?


Sergey13   (2004-05-05 14:50:00) [4]

2SergP ©   (05.05.04 14:45) [18]
>Ширина ползунка не соответствует отношению отображаемых записей к всем записям.
А тебе не кажется что ты хочешь очень многого от ползунка, который рожден ползать, а не отображать ценную инфу. 8-)


SergP   (2004-05-05 14:45:00) [5]

2 sniknik ©   (05.05.04 01:35)
Смотрел я вашу программу...
Все-таки отличия скролинга DBGRID'а от скролинга в других компонентах есть:

Вот самое основное:

1. Бар присутствует даже тогда когда количество записей меньше того что может влезть в ГРИД.
2. Ширина ползунка не соответствует отношению отображаемых записей к всем записям.

Т.е. это обычное поведение DBGrid. В моих прогах тоже он так себя ведет.
Но мне это не нравится... В других компонентах скрол совсем не такой..


sniknik   (2004-05-05 01:35:00) [6]

> Ок. присылайте, гляну на вашу прогу.
ну прям одолжение сделал... спасибо. ;о)
не дрейфь она может оказаться полезной, мне например помогает.
послал на  sergp5566@rambler.ru

> Но все равно думаю что найду разницу в скролинге ДБГрида с другими стандартными компонентами...
естесственно, как говорил настройки многое меняют, да и разве мы не программисты? ;о)
надеюсь найдеш что отличия только в лутшую сторону. но тем не менее, все что не нравится, пиши сюда.


SergP   (2004-05-05 01:26:00) [7]

2 sniknik ©   (05.05.04 00:24)
Ок. присылайте, гляну на вашу прогу.

Но все равно думаю что найду разницу в скролинге ДБГрида с другими стандартными компонентами...


sniknik   (2004-05-05 00:24:00) [8]

уже нет ;о) уже не то.

Adotable это не то что рекомендуют к использованию, + ничего не сказал о настройке ADODataSet(рекомендую вместо Adotable) ;о), а ведь разными настройками можно добится совершенно различного поведения, в том числе и скрола.

ну и нафига такое сравнение? а синхронизировать все вряд ли удастся (долго).


SergP   (2004-05-05 00:17:00) [9]

2 sniknik ©   (04.05.04 23:50)

прогу слать наверное не нужно.. Просто у меня инет такой что попросту могу ее задолбаться принимать...

Но например если взять DBGRID<---Datasource<---Adotable<---и в открыть там любую таблицу из БД Access , то по поведению этого DBGrid'а я могу описать что там не так со скролом...  подойдет ли такой вариант для описания вам проблемностей скрола? если да, то я опишу...


sniknik   (2004-05-04 23:50:00) [10]

SergP ©   (04.05.04 22:57) [11]
меня полностью устраивает, и кстати если идет речь о стандартных "Richedit, memo, listbox и т,д." то разници нет (не вижу).

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

TankMan ©   (04.05.04 23:18) [12]
> Выходит выход один - искать другой компонент заменяющий DBGrid, раз уж с recordcount и recno, сильно не помогают ?
выход, привести их в соответствие с действительностью как уже не раз говорили, или действительно найти грид который сделает это за вас.


TankMan   (2004-05-04 23:18:00) [11]

Выходит выход один - искать другой компонент заменяющий DBGrid, раз уж с recordcount и recno, сильно не помогают ?


SergP   (2004-05-04 22:57:00) [12]

>sniknik ©   (04.05.04 17:40)
>DBGrid достаточно удобен, а то что ты описываеш скорее всего к нему не
>относится (к его проблемам), скорее у тебя неопределенности в recordcount
>и recno

Когда есть неопределенности в recordcount и recno скролинг BDGrid вообще ужасный. В других случаях он более менее нормальный, но все равно не по человечески сделан.
Сравни например скролинг в DBGrid при наилучших обстоятельствах (нет неопределенностей с recordcount и recno) и например в чем-то другом (Richedit, memo, listbox и т,д.). Разница огромная...


Крутыш   (2004-05-04 22:23:00) [13]

Вемер сделал всё как ты описал, не пашет.


Vemer   (2004-05-04 21:37:00) [14]

Подробно (для крутых в танке:)):
- выбираем Датасет;
- находим событие OnOpen;
- двжды на нем щелкаем грызуном и пишем в обработчике
   НазваниеДатасета.Fetchall;
- после этого бегунок DBGrid (а также вид DBCBox-a возможно присобаченного к этому датасету) обычно нормализуеться.
- все :).


Крутыш   (2004-05-04 21:15:00) [15]

Я перешёл на Sybase с аксесса. Столько непоняток всяких
разобрать надо.


Крутыш   (2004-05-04 21:12:00) [16]

Ну-ка, ну-ка опиши конкретней кажется у меня тоже такая проблема.
Я не могу бегунок поставить в нужное место, он то ли к концу
липнет, то к началу. Какой-то слушай не управляемый.


Vemer   (2004-05-04 19:07:00) [17]

А форум почитать не судьба.. .FetchAll датасету - 90%-е решение проблемы..  3 раз за сутки уже пишу..


sniknik   (2004-05-04 17:40:00) [18]

DBGrid достаточно удобен, а то что ты описываеш скорее всего к нему не относится (к его проблемам), скорее у тебя неопределенности в recordcount и recno как у серверных наборов данных. но вот Table смущает (BDE? локал?).

проверь что у него recordcount/recno показывает? точно отображает, то что есть?

компоненты заменители? ну поиши, есть такие EhDBGrid, QuantumGrid и еще есть наверняка.


TankMan   (2004-05-04 17:08:00) [19]

Так может кто подскажет компонент, который можно использовать вместо DBGrid, но более удобный чем он?


Strori   (2004-05-04 13:52:00) [20]

Такой скроллинг от того, что DBGrid предназначен для многопользовательской работы. Одновременно к одной таблице могут обращаться несколько пользователей, оттого и прокрутки нет. На локальной машине это конечно не надо. Если кто подскажет, как обойти это свойство будет просто здорово. :)


Страницы:   1 2

Наверх

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