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

Вниз

Какое событие при перемещению по гриду.   Найти похожие ветки 

 
wsm-100   (2003-10-25 15:50) [0]

При перемещении по гриду (Query1) на другой грид повесить фильтр(Query2)


 
kaif   (2003-10-25 16:09) [1]

Это не на Grid надо вешать, а на Query.
1.
Там есть всякие BeforeScroll и AfterScroll, но я не рекомендую их использовать, так как возможны "двойные" срабатывания этих событий.

2.
соединить Query1 с Query2 через свойство DataSource:

Query2.DataSource := Quaery1.DataSource.
Если у тебя в Query2 параметризованный запрос
SELECT * FROM ... WHERE ... = :FIELD_NAME1
А в компоненте Qury1 имеется запрос, содержащи одноименное с параметром(ами) поле (поля):
SELECT FIELD_NAME1 FROM ... WHERE ...
То после активизации обоиз запросов, они будут работать так, как ты хочешь.

3. Можно задействованть событие OnDataChange компонента TDataSource, который подключен к Query1. Оно также срабатывает при перемещении по записям.


 
Anatoly Podgoretsky   (2003-10-25 16:09) [2]

AfterScroll, но зачем есть DataSource


 
MsGuns   (2003-10-25 16:52) [3]

Соотв.событе DataSource возникает несколько чаще AfterScroll`а ")


 
kaif   (2003-10-25 17:07) [4]

2 MsGuns © (25.10.03 16:52) [3]
Событие DataChange возникает 1 раз при переходе со строки на строку. При этом передается параметр Field = nil в обработчик. Еще оно возникает после редактирования каждого поля и при этом передается в параметре Field указатель на отредактированное только что поле и тоже 1 раз. Если анализировать в обработчике на Field = nil событие возникнет гарантированно 1 раз при Open запроса и гарантированно 1 раз после каждого перемещения курсора по набору.
Я большой поклонник этого события, так как оно чрезвычайно универсально и применимо в разных ситуациях. Особенно оно полезно при редактировании полей, если нужно что-то посчитаь в одном поле после изменения в другом (например, посчитать сумму после изменения цены или количества в строке документа).


 
MsGuns   (2003-10-25 19:31) [5]

>kaif © (25.10.03 17:07) [4]
>Еще оно возникает после редактирования каждого поля и при этом передается в параметре Field указатель на отредактированное только что поле и тоже 1 раз.

Именно это я и имел в виду, когда говорил "чаще".

>Особенно оно полезно при редактировании полей, если нужно что-то посчитать в одном поле после изменения в другом

Нет вопросов и даже комментариев. Но по сабжу, как я понял, требуется несколько другое ;)

ЗЫ. По поводу того, кто что любит. Мне больше нравятся целевые события датасетов и грида для пересчета полей при изменении какого-то одного из них узером. А вообще я в гридах стараюсь не давать редактить. Исключение только для TClientDataSet.


 
Vemer   (2003-10-26 02:36) [6]

Привет!
Я вчера решил эту проблему так: создал невидимый DB_Edit для датасет главной таблицы и изменения подчиненной повесил на его ON_Change. Работает замечательно, и главное при обновлении главной таблицы по смене TabControl происходит обновление подчиненной идет автоматом.


 
Term   (2003-10-26 08:12) [7]

это всё для чего, чтобы типа связь мастер-детальный???
если да то почему бы не сделать по человечески???


 
Vemer   (2003-10-26 10:52) [8]

To Term
Под таблицами я имел в виду Query тоже, а приладить к таблице нормальное управление из TabControl и приладить к Query MasterSourse по-моему очень трудно.


 
wsm-100   (2003-10-26 11:25) [9]

Большое спасибо за помощь.


 
Term   (2003-10-26 11:55) [10]

зачем фильтр что нельзя параметры в запрос передавать???
или я не так понял вопрос...


 
Term   (2003-10-26 12:02) [11]


> Под таблицами я имел в виду Query тоже, а приладить к таблице
> нормальное управление из TabControl и приладить к Query
> MasterSourse по-моему очень трудно

??????????


 
Vemer   (2003-10-27 10:38) [12]

Я имел в виду, что мой вариант можно применять и для таблиц, и для запросов, т. е. вешать на ON_Change невидимой ячейки Close/Open подчиненного запроса с новыми параметрами. Для фильтров не знаю, не пробовал. Точно также обновлять запрос при смене TabControl мне кажеться проще, чем таблицу.


 
Weare   (2003-10-27 11:24) [13]


> Term © (26.10.03 08:12) [7]
> это всё для чего, чтобы типа связь мастер-детальный???
> если да то почему бы не сделать по человечески???

Вот вот, правильно говорит. Нужно воспользоваться св-вами у Table MasterField и MasterSource



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
8-56779
Hatawa
2003-07-20 18:17
2003.11.17
Почему StretchBlt при использовании портит рисунок?


3-56459
DimChan
2003-10-29 09:12
2003.11.17
AccessViolation


1-56672
Stas
2003-11-05 09:14
2003.11.17
Запуск файла из TMemoryStream


1-56687
Ivolg
2003-11-07 17:08
2003.11.17
Компоненты как их грузить?


14-56885
y-soft
2003-10-25 09:37
2003.11.17
Вот, дедом стал!





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