Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 ПОМОГИТЕ (связка двух гридов)  [new]
Bastard
Member

Откуда:
Сообщений: 55
Здравствуйте !
На форме два грида, Source у гридов две таблицы.
В таблицах есть поле count типа integer. Мне ОЧЕНЬ надо, чтобы при выборе
строки в гриде1, в гриде2 записи отсеились по условию:
выбранное в гриде1 значение поля таблицы1.count должно равняться в гриде2 в таблице2 полю count!
Как такое можно провернуть ??
Если можно пример, то ОЧЕНЬ ПОЖАЛУЙСТА !
13 апр 04, 12:36    [625547]     Ответить | Цитировать Сообщить модератору
 Re: ПОМОГИТЕ (связка двух гридов)  [new]
Вячеслав Клепинин
Member

Откуда: Санкт-Петербург
Сообщений: 336
1. Поле count во второй таблице д.б. индексным
2. Во втором гриде в окне Properties установите свойства:
ChildOrder = count

LinkMaster = таблица1
13 апр 04, 13:02    [625630]     Ответить | Цитировать Сообщить модератору
 Re: ПОМОГИТЕ (связка двух гридов)  [new]
Bastard
Member

Откуда:
Сообщений: 55
Все сделал, но ничего не происходит :-(
13 апр 04, 13:19    [625699]     Ответить | Цитировать Сообщить модератору
 Re: ПОМОГИТЕ (связка двух гридов)  [new]
Bastard
Member

Откуда:
Сообщений: 55
Сделал немного по-другому: обработал событие MouseDown грида1
вот таким образом:

THISFORM.GRID2.RecordSource="SELECT founded_edizm.*;
FROM founded_edizm where founded_edizm.count=wrong_uni_edizm.count"


wrong_uni_edizm - таблица1
founded_edizm - таблица2

но появилась ПРОБЛЕМА: при нажатии мышкой на grid1 выскакивает форма, а на ней грид2 с необходимым набором записей, но что за фигня !!!!?????
как сделать чтобы записи сразу записывались в грид2 прежней формы ?????

может это делается как-то более изящно ???

подскажите новичку пожалуйста !!!!
13 апр 04, 13:29    [625731]     Ответить | Цитировать Сообщить модератору
 Re: ПОМОГИТЕ (связка двух гридов)  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Надо еще добавить

RelationExp = таблица1.count

Но можно и по другому. Если не заполнять свойства подчиненного Grid - ChildOrder, LinkMaster, RelationExp

Я так понимаю, что ты используешь DataEnvironment формы. Тогда выполни следующее:

1) По подчиненной таблице должен существовать индекс по полю Count. В DataEnvironment формы установи свойство Order подчиненной таблицы в значение индекса по полю Count

2) Создай связь между гланой и подчиненной таблицами в DataEnvironment. Для этого выдели ПОЛЕ count в главной таблице и не отпуская левую клавишу мыши перетащи его на ИНДЕКС по полю count в подчиненной таблице

И первый и второй способы - это визуализация программной связи между таблицами по SET RELATION
13 апр 04, 13:35    [625747]     Ответить | Цитировать Сообщить модератору
 Re: ПОМОГИТЕ (связка двух гридов)  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
1) Если в качестве источника данных для Grid используется Select-SQL, то в нем ОБЯЗАТЕЛЬНО надо указывать опцию INTO. В противном случае будет возникать описанный эффект отображения Browse-окна

2) В случае пересоздания источника данных Grid будет наблюдаться потеря всех визуальных настроек Grid если перед операцией пересоздания не сделать принудительный сброс источника данных. В описанной ситуации лучше использовать параметризированное Local View. Его обновление (перезапрос) выполняется по команде Requery("MyLocalView")
13 апр 04, 13:39    [625755]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить