Форум: "Базы";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
ВнизПрокрутка в 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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.007 c