Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
07.10.2009, 17:06
|
|||
---|---|---|---|
|
|||
Связанные ComboBox |
|||
#18+
Здравствуйте есть 2 дбф-файла в БД фокспро с фирмами и расчетными счетами. Сделал связь между ними в дизайнере.Открываю Browse обе таблицы и при перемещении по таблице фирм меняется отображение в просмотре таблицы расчетных счетов. Сделал форму и поместил 2 грида, мастером привязал один грид к отображению фирм, второй - расчетных счетов, при переходе по содержимому грида фирм меняется отображение р/с, добавил на форму 2 ComboBox'a один привязал к фирмам, второй к р/с, при выборе в Combo какой-то фирмы меняется содержимое грида с р/с, но не изменяется содержимое второго ComboBox'a с р/с. По клику Combo_фирм делаю Requery и Refresh для Combo_р/с. Можно ли как-то заставить второй ComboBox отображать только "зависимые" р/с, кроме как прописывать в коде Set Filter To? Спасибо. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.10.2009, 17:10
|
|||
---|---|---|---|
|
|||
Связанные ComboBox |
|||
#18+
> Автор: Игорь Горбонос Да забыл, VFP 9.0 SP2 Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.10.2009, 20:20
|
|||
---|---|---|---|
Связанные ComboBox |
|||
#18+
Игорь Горбонос Можно ли как-то заставить второй 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 каждый раз текущей становится другая запись главной таблицы. Как следствие, меняется выпадающий список подчиненной. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2009, 11:46
|
|||
---|---|---|---|
|
|||
Связанные ComboBox |
|||
#18+
> Автор: ВладимирМ > Разве что, использовать в качестве источника данных второго Combo результат выборки (массив или курсор). По сути, > тот же SET FILTER, но другим способом. Спасибо, я совсем забыл об этом способе > Кстати, прописывать в коде SET FILTER совсем не обязательно. Можно это сделать в настройке курсора в > DataEnvironment. В свойстве Filter подчиненной таблицы в DataEnvironment прописать условие связи как-то так К сожалению это был простой тестовый пример, на самом деле я получаю данные от веб-сервиса в ХМЛе и преобразовываю данные в курсор и DataEnvironment совсем не задействую, поэтому Ваш совет использовать результат запроса пришелся очень кстати Еще раз спасибо Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&tablet=1&tid=1585993]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
403ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 506ms |
0 / 0 |