powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Связанные ComboBox
4 сообщений из 4, страница 1 из 1
Связанные ComboBox
    #36238063
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте
есть 2 дбф-файла в БД фокспро с фирмами и расчетными счетами. Сделал связь между ними в дизайнере.Открываю Browse обе
таблицы и при перемещении по таблице фирм меняется отображение в просмотре таблицы расчетных счетов. Сделал форму и
поместил 2 грида, мастером привязал один грид к отображению фирм, второй - расчетных счетов, при переходе по содержимому
грида фирм меняется отображение р/с, добавил на форму 2 ComboBox'a один привязал к фирмам, второй к р/с, при выборе в
Combo какой-то фирмы меняется содержимое грида с р/с, но не изменяется содержимое второго ComboBox'a с р/с. По клику
Combo_фирм делаю Requery и Refresh для Combo_р/с.
Можно ли как-то заставить второй ComboBox отображать только "зависимые" р/с, кроме как прописывать в коде Set Filter To?
Спасибо.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Связанные ComboBox
    #36238077
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Игорь Горбонос
Да забыл, VFP 9.0 SP2

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Связанные ComboBox
    #36238443
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
Можно ли как-то заставить второй ComboBox отображать только "зависимые" р/с, кроме как прописывать в коде Set Filter To?

Разве что, использовать в качестве источника данных второго Combo результат выборки (массив или курсор). По сути, тот же SET FILTER, но другим способом.

Связь в FoxPro - это взгляд на подчиненную таблицу со стороны главной. Меняя "точку зрения" (текущую рабочую область) меняется и отображение подчиненной таблицы. Т.е. для корректной работы связи необходимо либо находится в рабочей области главной таблицы, либо как-то сохранять не явно наложенный фильтр связи.

Для ComboBox не работает ни то, ни другое. Невозможно в качестве источника данных указать поля из разных таблиц (чтобы оказаться в рабочей области главной таблицы, но ссылаться на поля подчиненной) и не сохраняется не явный фильтр связи (как происходит в связанных Grid или Browse-окнах)

Кстати, прописывать в коде SET FILTER совсем не обязательно. Можно это сделать в настройке курсора в DataEnvironment. В свойстве Filter подчиненной таблицы в DataEnvironment прописать условие связи как-то так

TableChaild.ParentId = TableMain.Id

Ну, или такой SET FILTER наложить. Но один раз. Не передергивая SET FILTER каждый раз при изменении значения в основном Combo. При этом, даже Requery() для подчиненного Combo делать не надо. Разумеется, если источник данных это 6 - Fields.

Здесь "фишка" в том, что такое условие фильтра всегда сопоставляется со значением текущей записи главной таблицы. А при выборе в главном Combo каждый раз текущей становится другая запись главной таблицы. Как следствие, меняется выпадающий список подчиненной.
...
Рейтинг: 0 / 0
Связанные ComboBox
    #36239272
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: ВладимирМ
> Разве что, использовать в качестве источника данных второго Combo результат выборки (массив или курсор). По сути,
> тот же SET FILTER, но другим способом.

Спасибо, я совсем забыл об этом способе

> Кстати, прописывать в коде SET FILTER совсем не обязательно. Можно это сделать в настройке курсора в
> DataEnvironment. В свойстве Filter подчиненной таблицы в DataEnvironment прописать условие связи как-то так

К сожалению это был простой тестовый пример, на самом деле я получаю данные от веб-сервиса в ХМЛе и преобразовываю
данные в курсор и DataEnvironment совсем не задействую, поэтому Ваш совет использовать результат запроса пришелся очень
кстати

Еще раз спасибо

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Связанные ComboBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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