20.08.2015, 16:36 | #1 |
Участник
|
Две View на форме, которые соединяются по двум полям (AX 2009)
Есть форма с двумя гридами. Датасорсы обоих гридов View, которые должны джоиниться по двум полям.
Если я указываю в подчиненном датасорсе JoinSource первую вьюху и LinkType ставлю InnerJoin, то как оно выбирает поля, по которым джоинить? |
|
20.08.2015, 16:40 | #2 |
Участник
|
Скорее всего, они у вас сджойнятся без условий связи. Будет декартово произведение
Добавьте на одну из вьюх явный релейшен на другую
__________________
Axapta v.3.0 sp5 kr2 |
|
20.08.2015, 16:41 | #3 |
Участник
|
|
|
21.08.2015, 07:17 | #4 |
Участник
|
Да, действительно, насчет релейшенов на вьюхах я погорячился)
Тогда, два варианта Первый - явно связать два датасорса в коде с помощью метода addLink() Второй - создать в AOT Query с джойном этих вьюх с явным указанием релейшенов по нужным полям. Использовать этот query в качестве источника данных на форме Если на форме есть другие датасорсы, помимо этих двух вьюх, то для второго случая придется переносить их всех в этот Query
__________________
Axapta v.3.0 sp5 kr2 |
|
21.08.2015, 09:46 | #5 |
Участник
|
Второй вариант я пробовал. При этом получается одна плоская таблица и при использовании двух гридов курсор на ведомом гриде двигается синхронно с ведущим гридом.
|
|
21.08.2015, 11:15 | #6 |
Участник
|
Вы же сами в исходном сообщении об InnerJoin'е писали
Если датасорсы должны работать как Master-Detail, то надо воспользоваться addDynalink()
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: AnGor (1). |
21.08.2015, 14:01 | #7 |
Участник
|
Действительно - не иннерджоин, а актив имелось в виду, прошу прощения.
|
|
|
|