Главная страница
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.5 MB
Время: 0.032 c
6-56787
StanislavB
2003-09-19 08:31
2003.11.17
Возврат из ActivX в сценарий


7-56922
Khloo!
2003-09-08 13:34
2003.11.17
Com- порты


1-56616
_Agent_
2003-11-05 18:15
2003.11.17
Вопрос по Thread, мож кто прояснит в чём дело...(3)


14-56917
}|{yk
2003-10-24 16:53
2003.11.17
Как размножаются кроты?


4-56947
Dmk
2003-09-21 15:08
2003.11.17
AbortDoc - странности