AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2020, 15:18   #1  
Metrofun is offline
Metrofun
Участник
 
72 / 10 (1) +
Регистрация: 27.04.2020
? Динамическое формирование выпадающего списка в StringEdit
Здравствуйте.
Есть StringEdit, нужно сделать чтобы выпадающий список у него заполнялся определёнными полями из таблицы, плюс не все записи из таблицы должны выводиться, а с условием на определённое поле.
Как из таблицы вывести разобрался, что-то типа:
public void lookup()
{

Query qr = new Query();
QueryBuildDataSource qbds;
QueryBuildRange qbr;
SysTableLookup sysTblLookup = SysTableLookup::newParameters(tablenum(custTable),this);
;
sysTblLookup.addLookupfield(fieldNum(custTable,Field1));
sysTblLookup.addLookupfield(fieldNum(custTable,Field2));
qbds = qr.addDataSource(tablenum(custTable));
sysTblLookup.parmQuery(qr);
sysTblLookup.performFormLookup();
//super();
}

А можно как-нибудь SQL-запрос 'подсунуть' вместо таблицы?

Последний раз редактировалось Metrofun; 28.04.2020 в 16:22.
Старый 28.04.2020, 16:32   #2  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Если я правильно вас понял, вам нужен так называемый lookup.

Посмотрите здесь: https://docs.microsoft.com/en-us/dyn...m-to-a-control
Старый 28.04.2020, 16:34   #3  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Цитата:
Сообщение от Metrofun Посмотреть сообщение
Здравствуйте.
Есть StringEdit, нужно сделать чтобы выпадающий список у него заполнялся определёнными полями из таблицы, плюс не все записи из таблицы должны выводиться, а с условием на определённое поле.
Как из таблицы вывести разобрался, что-то типа:
public void lookup()
{

Query qr = new Query();
QueryBuildDataSource qbds;
QueryBuildRange qbr;
SysTableLookup sysTblLookup = SysTableLookup::newParameters(tablenum(custTable),this);
;
sysTblLookup.addLookupfield(fieldNum(custTable,Field1));
sysTblLookup.addLookupfield(fieldNum(custTable,Field2));
qbds = qr.addDataSource(tablenum(custTable));
sysTblLookup.parmQuery(qr);
sysTblLookup.performFormLookup();
//super();
}

А можно как-нибудь SQL-запрос 'подсунуть' вместо таблицы?
Если посмотрите в отладчике, увидите, что Ax по этой конструкции и формирует SQL-запрос. Чистый SQL в лукап 'подсунуть' нельзя, но вместо таблицы, например, можно использовать View, может, это вам поможет.
Старый 28.04.2020, 17:56   #4  
Metrofun is offline
Metrofun
Участник
 
72 / 10 (1) +
Регистрация: 27.04.2020
Использовал View.
Спасибо.
Старый 29.04.2020, 11:11   #5  
Metrofun is offline
Metrofun
Участник
 
72 / 10 (1) +
Регистрация: 27.04.2020
Можно обойтись без View, что-то типа см. ниже, может кому-нибудь пригодиться
public void lookup()
{

Query qr = new Query();
QueryBuildDataSource qbds;
QueryBuildDataSource qbds2;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(Table1), this);
;
qbds = qr.addDataSource(tableNum(Table1));
qbds2 = qbds.addDataSource(tableNum(Table2));
qbds.joinMode(JOINMODE::InnerJoin);
qbds2.addLink(fieldnum(Table1, IDField), fieldnum(Table2, IDField));

sysTableLookup.parmQuery(qr);

sysTableLookup.addLookupfield(fieldNum(Table1, Field1));

sysTableLookup.performFormLookup();

}
Старый 29.04.2020, 11:38   #6  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
В Аксапте все уже давно придумано. Поиск по АОТу по SysTableLookup выдаст кучу примеров как это используется.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX2009: динамическое изменение св-ва label у StringEdit oleggy DAX: Программирование 8 25.02.2020 12:35
Редактируемость выпадающего списка Gorlum DAX: Программирование 4 19.01.2015 11:17
Удалить из выпадающего списка пару значений at5454 DAX: Программирование 8 25.07.2014 15:41
Ax EP ошибка при раскрытии выпадающего списка Dreadlock DAX: Программирование 0 24.04.2014 18:50
Создание в диалоговом окне выпадающего списка Maxim Gorbunov DAX: База знаний и проекты 2 23.11.2005 12:26

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:49.