Главная страница
    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.063 c
1-1195571102
авыф
2007-11-20 18:05
2008.07.20
Компоненты DevExpress


15-1212564530
dmitry_12_08_74
2008-06-04 11:28
2008.07.20
Подскажите, где скачать библиотеку компонентов PNGComponents


4-1192883943
Виктор007
2007-10-20 16:39
2008.07.20
Удаление драйвера


2-1213787178
lewka-serdceed
2008-06-18 15:06
2008.07.20
function GetPath


15-1212588461
data
2008-06-04 18:07
2008.07.20
Подскажите, как работать с битами в Оракле?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский