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

Вниз

Перемещение в 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.021 c
1-1192341690
3Lander
2007-10-14 10:01
2008.07.20
Как вставить справку в прогу


2-1213678891
Knight
2008-06-17 09:01
2008.07.20
Хранимая процедура


15-1212413751
Alkid
2008-06-02 17:35
2008.07.20
Хороший киберпанк.


2-1213887146
Res
2008-06-19 18:52
2008.07.20
файл и потоки


1-1195486930
dreamse
2007-11-19 18:42
2008.07.20
Как запретить завершать свой приложение?