powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Нужен совет ВладимираМ
8 сообщений из 8, страница 1 из 1
Нужен совет ВладимираМ
    #32509992
Avral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
судя по всему, т.е. по форуму вы умный и сообразительный человек...

у меня вопрос такого плана, и я думаю что только вы мне сможете в этом помочь...

1.у меня есть две таблицы которые связаны между собой по уникальному ключу,
2. создал класс grid и поместил в колонку № 3 Combo1,
3. запускаю форму , ставлю селект например код предприятия "05" грид
выводит код предприятия и название правильно, а вот Combo1 из дочерней таблицы не хотит выбирать записи которые приисуще "05", т.е он выводит все записи которые имеются в таблице,
я уже и фильтр ставил, он как будто сам по себе работает и игнорирует все что ему пишут...
как мне быть , может есть какое-нибудь решение данной проблемы, Заранее благодарствую...
...
Рейтинг: 0 / 0
Нужен совет ВладимираМ
    #32510066
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После установки фильтра для второй таблицы сделай для комбо Requery
...
Рейтинг: 0 / 0
Нужен совет ВладимираМ
    #32510180
Avral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не ничего не получается, может тогда по подробнее обьясните,
делаю делаю а эффект тот же, ничего не могу поделать, уж целый день сижу, ПОМОги ....................................ТЕ
...
Рейтинг: 0 / 0
Нужен совет ВладимираМ
    #32510193
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос не настолько сложный, чтобы ждать именно меня. Тебе собственно уже ответили.

Проблема в том, что в FoxPro каждый объект на форме имеет некий собственный "буфер". Т.е. изменения сделанные в базе данных становятся видны в конкретном объекте только после обновления этого буфера. Точнее есть целая цепочка разных "буферов", но в данном случае интересует только последний.

Для обновления этих буферов объектов форм в каждом объекте существует метод Refresh(). Но дело в том, что метод Refresh() обновляет только "видимое" содержимое объекта. А для Combo необходимо обновить "скрытое" содержимое. Точнее, обновить источник данных. Для этой цели используется метод Requery()

Т.е. после установки фильтра на таблицу-источник для Combo необходимо обновить "буфер" самого Combo примерно следующей командой

ThisForm.Combo1.Requery()

Это все хорошо, если речь идет о Combo просто лежащем на форме. Сам по себе.

Если же речь идет о Combo "встроенном" в Grid, то следует помнить, что связь по Relation не играет для него никакого значения. Требуется где-то в Init-формы написать примерно следующее:

select Child
SET FILTER TO ID=Parent.ID

Это надо написать именно в INIT-формы, а не в свойствах курсора в DataEnvironment поскольку в общем случае к моменту открытия подчиненной таблицы родительская может быть еще не открыта. А INIT-формы срабатывает уже после отработки всех событий DataEnvironment, т.е. к этому моменту все таблицы уже открыты.
...
Рейтинг: 0 / 0
Нужен совет ВладимираМ
    #32510213
Фотография Copyright
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что GOTO после установки фильтра на таблицу теперь делать не обязательно???
Ибо иначе он не работает

P.S Sorry - Мой последний опыт по FOX был при переносе своего кода из Foxpro по Windows 2.6 в Visual Foxpro 6.0 где-то лет 5 назад
Copyright мой
...
Рейтинг: 0 / 0
Нужен совет ВладимираМ
    #32510272
Avral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выражаю большую благодарность ВладимируМ,

за его помощь в данном вопросе и подробное разжевывание темы,

как жаль что таких людей на свете немного.....

СПАСИБО ВладимирМ
...
Рейтинг: 0 / 0
Нужен совет ВладимираМ
    #32510289
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Copyright
>А что GOTO после установки фильтра на таблицу теперь делать не обязательно???
В данном случае не обязательно - это сделает сам Combo при Requery
...
Рейтинг: 0 / 0
Нужен совет ВладимираМ
    #32510327
Фотография Copyright
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>это сделает сам Combo при Requery

Неужели программисты Microsoft за это время научились писать КОД ;-))
P.S В общем приятно, но знание как это на самом деле происходит внутри сегодняшним программерам вряд ли помешает...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Нужен совет ВладимираМ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]