Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Вниз

Перемещение в DBGrid   Найти похожие ветки 

 
Stif   (2008-06-18 22:30) [0]

Как выводить значения таблицы (ShowMessage) при перемещении по DBGrid (Пока получается только при клике) стрелками на клавиатуре.


 
korneley ©   (2008-06-18 22:45) [1]

Ну... для начала надо узнать название СУБД, типы используемых компонент(ов) и сообщить их имена. Здесь. Неплохо было бы, также  сообщить, зачем жизненно необходимо ShowMessage() при перемещени по DBGrid.


 
Stif   (2008-06-18 22:49) [2]

Субд FireBird
Проблема в том что не могу понять какое событие срабатывает при перемещении по гриду (TDBGrid) стрелками на клавиатуре.
ShowMessage только для проверки (можно вообщемто куда угодно выводить).


 
{RASkov} ©   (2008-06-18 22:51) [3]

> [2] Stif   (18.06.08 22:49)
> ShowMessage только для проверки (можно вообщемто куда угодно
> выводить).

См AfterScroll у ДатаСета


 
MsGuns ©   (2008-06-18 22:53) [4]

>korneley ©   (18.06.08 22:45) [1]
>Ну... для начала надо узнать название СУБД, типы используемых компонент(ов) и сообщить их имена. Здесь.

А зачем ? Датасет - он и в Африке датасет

По сабжу.
Отслеживать нужно перемещение не по гриду, а по датасету (причем фиолетово каким образом - кнопками, ползунками, мышкой, кошкой..)

А для этого у ентого датасета имеется событие AfterScroll, и если написать в обработчике этого события

 ShowMessage(DBGrid1.DataSource.DataSet.Fields[0].AsString));

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


 
MsGuns ©   (2008-06-18 22:55) [5]

А вот для того, чтобы "пасти" перемещение по полям одной и той же записи можно воспользоваться событиями самой сетки: OnColEnter, OnColExit


 
korneley ©   (2008-06-18 22:58) [6]


> MsGuns ©   (18.06.08 22:53) [4]
> А зачем ? Датасет - он и в Африке
> датасет

Датасет-то он датасет, но ФИБ-ы поболе возможностей дают ;) К тому же после [2] проблема обозначилась, так что, считаю миссию выполненной :)


 
MsGuns ©   (2008-06-18 23:21) [7]

>Датасет-то он датасет, но ФИБ-ы поболе возможностей дают

Доллары рисовать умеют ?


 
korneley ©   (2008-06-18 23:31) [8]


> MsGuns ©   (18.06.08 23:21) [7]
>  Доллары рисовать умеют ?

Нормальная бумага + краска = лет 10 в итоге :) В фибовских компонентах управление AfterScroll порасширенней ( погибче?)


 
MsGuns ©   (2008-06-18 23:38) [9]

Мне просто интересно, в чем заключается "ширистость" ?


 
korneley ©   (2008-06-18 23:49) [10]


> MsGuns ©   (18.06.08 23:38) [9]

Я не касаюсь макросов (это не совсем в тему), но избежать DataSet.Disable(Enable)Controls можно избежать. При связке мастер - детайл. Просто у события есть тайм-аут :)


 
korneley ©   (2008-06-19 00:14) [11]

Поясню. Отвлекают, блин :) Есть опция, включающая "ожидание" при прокрутке "мастера", и лишь потом переоткрывается детайл. На самом деле это и есть тот самый "AfterScroll". Иногда полезно, иногда - нет. На маленьких базах и быстрых машинах - вредно (имхо, естественно, ну, так можно и не включать) А вот с ростом объёма - полезность явно прибывает. Хотя, опять же, по месту смотреть надо... От того и вопрос об используемых компонентах доступа к базе.


 
Игорь Шевченко ©   (2008-06-19 00:24) [12]


> Проблема в том что не могу понять какое событие срабатывает
> при перемещении по гриду (TDBGrid) стрелками на клавиатуре


Если вертикальными, то DataSource.DataChange


 
Василий Жогарев ©   (2008-06-19 08:37) [13]


> > Проблема в том что не могу понять какое событие срабатывает
>
> > при перемещении по гриду (TDBGrid) стрелками на клавиатуре

AfterScroll & BeforeScroll ?...


 
Sergey13 ©   (2008-06-19 09:01) [14]

> [4] MsGuns ©   (18.06.08 22:53)
> А для этого у ентого датасета имеется событие AfterScroll,
> и если написать в обработчике этого события
>
> ShowMessage(DBGrid1.DataSource.DataSet.Fields[0].AsString));

А какой смысл в данном случае идти к записи через грид?


 
Anatoly Podgoretsky ©   (2008-06-19 14:00) [15]

> Sergey13  (19.06.2008 9:01:14)  [14]

А какой смысл делать дополнительный кнопочки?


 
Sergey13 ©   (2008-06-19 14:06) [16]

> [15] Anatoly Podgoretsky ©   (19.06.08 14:00)

А при чем тут кнопочки? В обработчике датасета.


 
Anatoly Podgoretsky ©   (2008-06-19 14:16) [17]

> Sergey13  (19.06.2008 14:06:16)  [16]

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


 
Ega23 ©   (2008-06-19 14:25) [18]


> См AfterScroll у ДатаСета
>


При чём здесь AfterScroll?


 
Sergey13 ©   (2008-06-19 14:26) [19]

> [17] Anatoly Podgoretsky ©   (19.06.08 14:16)

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


 
MsGuns ©   (2008-06-19 14:29) [20]

Блин, ну нетути там разницы. Атстань пративный ;)


 
Anatoly Podgoretsky ©   (2008-06-19 16:44) [21]

Хоть перемещиение по набору/хоть перемещение по гриду оба вызовуют возникновение события before/AfterScroll, в отличии от OnDataChange там не так одназначно.



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

Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.049 c
15-1212578536
TUserClass
2008-06-04 15:22
2008.07.20
Подскажите что за кодировка такая...


15-1212473791
Tornado
2008-06-03 10:16
2008.07.20
Разрешить доступ


15-1212582144
123-ий
2008-06-04 16:22
2008.07.20
Skype


15-1212653596
Виталик
2008-06-05 12:13
2008.07.20
Векторизация


2-1213943918
Alex_C
2008-06-20 10:38
2008.07.20
Как узнать, кто является Sender ом?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский