Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.14;
Скачать: CL | DM;

Вниз

Прокрутка в DBGrid   Найти похожие ветки 

 
eugie ©   (2003-03-21 08:55) [0]

Уважаемые Мастера! Расскажите, если кто знает, можно ли сделать так, чтобы при прокручивании списка в DBGrid с помощью полосы выртикальной прокрутки курсор в наборе данных не перемещался с текущей записи (оставлся на месте), пока его пользователь не переведет принудительно, например щелкнув в одной из ячеек DBGridа ли нажав на клавиши управления курсором? Спасибо.


 
Dmitry Filippov ©   (2003-03-21 09:37) [1]

По моему это не правильно, что это, юзер видит уже 12334 запись, вызывает какую нибудь операцию и изменяет 4-ю, на которой стоит курсор, гибкость или изощьренность имеет и обратную сторону, т.е. прямо пропорционально оплеухам и ошибкам.


 
Соловьев ©   (2003-03-21 09:47) [2]

вообще-то DBGrid только для локальных БД, так как использование в сетевых БД неоправдывается - однонаправленные курсоры... Сидит пользователь и тягает себе ползунок взад- вперед, а сервак при этом загибается. Повбывав бы... :))))


 
ЮЮ ©   (2003-03-21 09:55) [3]

>юзер видит уже 12334 запись

и тех, кто в локалке вываливает юзеру столько строк "Повбывав бы" :-)


 
Dmitry Filippov ©   (2003-03-21 09:57) [4]

Соловьев

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


 
Dmitry Filippov ©   (2003-03-21 09:59) [5]

ЮЮ

Узер и сам способен так спросить, хотя за это ...


 
KSergey ©   (2003-03-21 11:03) [6]

> Соловьев © (21.03.03 09:47)
> вообще-то DBGrid только для локальных БД, так как


Вот это новости!!

использование
> в сетевых БД неоправдывается - однонаправленные курсоры...
> Сидит пользователь и тягает себе ползунок взад- вперед,
> а сервак при этом загибается. Повбывав бы... :))))

А может разработчиков таких ну хотя бы поколотить слегка? Штобы к тому же глупостей не постили.


 
Соловьев ©   (2003-03-21 11:09) [7]

я на писал, что DBGrid не опрадано для сетех БД, а не то что только локальных БД. Не надо перекручивать пост. Типа "казнить нельзя помиловать"....


 
eugie ©   (2003-03-21 11:15) [8]

Коллеги! А можно что-нибудь конкретно по вопросу?


 
Alexander Vasjuk   (2003-03-21 13:21) [9]

Соловьев © (21.03.03 11:09)
Даже в случае однонаправленных наборов и кеширования DBGrid остается удобным инструментом. То есть он к технологии вытаскивания данных как бы ни при чем.

eugie © (21.03.03 11:15)
Я думаю, в твоем случае, если ты таки сильно этого хочешь, перекрой OnDrawDataCell и сам выделяй не текущую запись, а помеченную, и при работе с ней сначала выбери ее.


 
Johnmen ©   (2003-03-21 13:33) [10]

>Даже в случае однонаправленных наборов и кеширования DBGrid >остается удобным инструментом

Нет. Т.к. DBGrid с однонаправленными наборами не работает...


 
Alexander Vasjuk   (2003-03-21 14:43) [11]

Johnmen © (21.03.03 13:33)
Нет. Т.к.:
Если к 1направленному набору прицепить скажем ClientDataSet, который собственно и кеширует данные, DBGrid прекрасно работает.


 
Johnmen ©   (2003-03-21 14:57) [12]

>Alexander Vasjuk (21.03.03 14:43)

Я не понял возражения !
Еще раз повторю :
DBGrid с однонаправленными наборами не работает !И добавлю :
DBGrid с двунаправленными наборами работает (коем и является TClientDataSet)


 
Alexander Vasjuk   (2003-03-21 15:09) [13]

Johnmen © (21.03.03 14:57)
DBGrid с однонаправленными наборами не работает !И добавлю :
DBGrid с двунаправленными наборами работает (коем и является TClientDataSet)

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

Если это спорно, вернемся, с чего все началось:

Соловьев © (21.03.03 09:47)
вообще-то DBGrid только для локальных БД, так как использование в сетевых БД неоправдывается - однонаправленные курсоры... Сидит пользователь и тягает себе ползунок взад- вперед, а сервак при этом загибается. Повбывав бы... :))))


DBGrid вполне оправдывается для работы в сетевых БД. Одно- или unidirect. Более того, это самый естественный интерфейс (таблица, сетка).


 
Johnmen ©   (2003-03-21 15:22) [14]

Ну какая здесь разница, откуда кто что берет ???!!!!
Таким образом DBGrid фактически работает с данными
из того НД, на который указывает соотв.свойство !!!
Или ты решил просто поиздеваться ?


 
Alexander Vasjuk   (2003-03-21 15:33) [15]

Johnmen © (21.03.03 15:22)
Давай не переходить на оскорбления, ок? Правда дороже :)

Теперь отвечаю...
DBGrid работает со свойством данные формально. А именно фактически это данные удаленного набора.

Наверно, у тебя DBGrid глюканул с DBExpress, и ты решил, что они несовместимы.А теперь цепляешься за слова, фактически, практически...

Скажи, а как ты работаешь с однонаправленными наборами?
И вообще, работаешь?


 
Johnmen ©   (2003-03-21 15:42) [16]

>И вообще, работаешь?

Да.


>Наверно, у тебя DBGrid глюканул с DBExpress, и ты решил, что >они несовместимы

Кто(или что?) они ???


 
Alexander Vasjuk   (2003-03-21 15:55) [17]

DBGrid и DBExpress

Да? Странно. И как ты визуализируешь данные?


 
Johnmen ©   (2003-03-21 16:02) [18]

Однонаправленные не визуализирую. Они мне нужны для другого.
Двунаправленные - визуализирую.


 
Alexander Vasjuk   (2003-03-21 16:08) [19]

А двунаправленные - с сервера?


 
Johnmen ©   (2003-03-21 16:13) [20]

>А двунаправленные - с сервера?

А что, это так важно ? Для тебя ?


 
Alexander Vasjuk   (2003-03-21 16:28) [21]

Да, это к разговору.
Ответь, пожалуйста.
Двунаправленные у тебя с сервера?
И как ты их визуализируешь?


 
Johnmen ©   (2003-03-21 16:36) [22]

>Двунаправленные у тебя с сервера?

Объясни, пожалуйста, в чем принципиальная разница, с сервера или еще откуда ?

>И как ты их визуализируешь?

С помощью чего ? С помощью, TDBGrid, например.


 
Alexander Vasjuk   (2003-03-21 16:50) [23]

А та разница, что раз ты показываешь двунаправленные данные с сервера с помощью TDBGrid, то ты сам себе противоречишь.
т.е. сам себя поббыв бы...


 
Johnmen ©   (2003-03-21 16:59) [24]

Я тут почитал еще несколько веток с твоим участием...
Я прекращаю всякие дискуссии с тобой. Прошу извинить, если обидел...


 
Alexander Vasjuk   (2003-03-21 17:10) [25]

Бог простит. Ты извини.

Странно, я тебя не оскорблял и вел себя корректно, не кричал.
Как и в прочих ветках.

По моему ты просто увидел, что не прав и убегаешь.

А сервер все таки ты гридом мучаешь! (я кстати тоже, но я и не критикую)


 
JibSkeart ©   (2003-03-21 17:21) [26]

Alexander Vasjuk (21.03.03 17:10)
Может я что то недопонял но может обьяснишь как
это сервер DBGrid-ом мучаешь ??

Ты открой SQLProfiler и посмотри что ничего
неуходит и неприходит от грида(грубо говоря) и сервака
когда ты курсором балуешся туды сюды ...

Если я что то недопонял сильно меня не пинать :)


 
Alexander Vasjuk   (2003-03-21 17:28) [27]

JibSkeart © (21.03.03 17:21)
Это я без квотинга процитировал:
Соловьев © (21.03.03 09:47)
вообще-то DBGrid только для локальных БД, так как использование в сетевых БД неоправдывается - однонаправленные курсоры... Сидит пользователь и тягает себе ползунок взад- вперед, а сервак при этом загибается. Повбывав бы... :))))


 
Dred2k ©   (2003-03-22 17:33) [28]

2 eugie

Да, круто ты всех завел! ;))
Чтобы сделать так, как ты хочешь, нужно частично переписать сам компонент. Внимательно его изучи вместе с предками. Посмотри, как и где обрабатываются события прокрутки, где двигается датасет (поможет простой поиск типа ".Next" + долгие размышления).
Причем размышления на тему "На кой это надо"!
Очень странная задача...
Так и полоску среди записей потерять не долго....
;))


 
eugie ©   (2003-03-23 05:55) [29]

To ALL

Мой вопрос возник из-за пожеланий пользователей.
Возможность, о которой я упомянул в вопросе реализована, например, в MS Access.
Но в любом случае ВСЕМ спасибо за оживленную дискуссию!


 
Desdechado ©   (2003-03-24 21:09) [30]

если в гриде сделать multiselect, то курсор физически стоит в датасете на последней выбранной, а в гриде гуляет где попросишь


 
eugie ©   (2003-03-25 08:18) [31]

>Desdechado

Пробовал - не работает.



Страницы: 1 вся ветка

Текущий архив: 2003.04.14;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.018 c
14-44384
copyr25
2003-03-26 18:20
2003.04.14
Сегодня по НТВ в 18:04, в новостях передали, что отныне


3-44004
sergun
2003-03-25 10:10
2003.04.14
Как получить все значения определенной колонки в таблице


1-44154
Neznaika
2003-03-31 09:49
2003.04.14
Прозрачный фон под текстом.


3-43994
eugie
2003-03-21 08:55
2003.04.14
Прокрутка в DBGrid


7-44465
Mehal'
2003-02-18 15:45
2003.04.14
Как напечатать содержимое WebBrowser ???