2017-01-16 18 views
0

Кто-нибудь знает, как присоединиться к 2 таблицам на dataSourceTable? Я имею в виду, что у меня есть 2 поля в сетке, и я фильтрую таблицу с этими полями, но у меня нет идеи, как это сделать, у меня есть execQuery, где я получаю поля, и я отправляю их в init ..Присоединиться к datasourse по init Dynamics ax

Это мой код ..

ExecuteQuery:

FilterGrid_1.value(queryValue(ComboBox_1.valueStr())); 
FilterGrid_2.value(queryValue(ComboBox_2.valueStr())); 

Init:

FilterGrid_1=this.query().dataSourceTable(tableNum(Table_1)).addRange(fieldNum(Table_1,ID_Table1)); 

у меня есть еще один фильтр, но я не знаю, как присоединиться к нему, и я думаю, что его не necesary

FilterGrid_2=this.query().dataSourceTable(tableNum(Table_2)).addRange(fieldNum(Table_2,Table2_Field)); 
+0

Привет, В вашем случае в методе init вы добавляете диапазон и в методе executequery вы назначаете значение диапазона для фильтрации. Добавление диапазона похоже на то, что добавление предложения where в select query и множественный диапазон таков, что и предложение where с условиями &&, и вам не нужны другие объединения. –

ответ

0

Auto joining на источники данных, как правило, осуществляется без какого-либо кода с использованием table relations.
Отношение между таблицами определено на дочерней таблице.
Чтобы убедиться, что все поля отношений правильно заполнены, используйте таблицы Best Practice Check.

В форме дочернего набора данных устанавливается атрибут JoinSource родительскому источнику данных. Кроме того, вы можете установить LinkType или DelayActive, но если вы используете две сетки, вам лучше обслуживать значения по умолчанию Delayed и Yes.

Если вы настаиваете на выполнении этого кода (скажем, вы не можете изменять таблицы), используйте addDynaLink при использовании отложенного соединения, используйте addLink, если вы используете внутренние или внешние соединения.