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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.12.2022, 08:57   #1  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Multi-Select Lookup Control 2009 dax
Коллеги добрый день. Подскажите как в выпадающем списке выбрать несколько записей и записать значения через запятую в поле выпадающего списка. Как на картинке во вложении
Миниатюры
Нажмите на изображение для увеличения
Название: 5.jpg
Просмотров: 49
Размер:	55.8 Кб
ID:	13530  
Старый 27.12.2022, 09:07   #2  
Pandasama is offline
Pandasama
Участник
 
457 / 137 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Если он в 2009 уже появился - то использовать SysLookupMultiSelectCtrl.
Если нет - возможно, можно его перетащить с 2012, если он ничего специфического не использует.

Ну или сделать лукап-форму, которая в closeOk переберет выделенные записи, сгенерирует нужную строку и запишет её в контрол (например, невидимый), который обрабатывается через element.selectMode()
Возможно, можно как-то менее по-боцмански, это первое что в голову пришло
Старый 27.12.2022, 12:20   #3  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Цитата:
Сообщение от Pandasama Посмотреть сообщение
Если он в 2009 уже появился - то использовать SysLookupMultiSelectCtrl.
Если нет - возможно, можно его перетащить с 2012, если он ничего специфического не использует.

Ну или сделать лукап-форму, которая в closeOk переберет выделенные записи, сгенерирует нужную строку и запишет её в контрол (например, невидимый), который обрабатывается через element.selectMode()
Возможно, можно как-то менее по-боцмански, это первое что в голову пришло
Не получается выбрать несколько записей чек бокса при нажатии на запись выпадающего списка он закрывается с выбранной одной записью
Старый 27.12.2022, 12:40   #4  
Pandasama is offline
Pandasama
Участник
 
457 / 137 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Вероятно, надо смотреть какие у вас свойства на вываливающейся форме выставлены.
Старый 27.12.2022, 12:50   #5  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от danov.86 Посмотреть сообщение
как
Например пойтить в сюда и скопипастить ...
Либо скрасть решение готовое из вложения ...
Вложения
Тип файла: xpo SharedProject_MultiSelectLookup.xpo (16.5 Кб, 80 просмотров)
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 27.12.2022 в 13:09.
За это сообщение автора поблагодарили: Pandasama (2).
Старый 27.12.2022, 13:15   #6  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Например пойтить в сюда и скопипастить ...
Либо скрасть решение готовое из вложения ...
То что доктор прописал , спасибо большое !!!!
Старый 27.12.2022, 13:16   #7  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Цитата:
Сообщение от danov.86 Посмотреть сообщение
То что доктор прописал , спасибо большое !!!!
правда при повторном открытии лукапа выпадает ошибка Несоответствие типов: ожидалось str, а получено int64.
Старый 27.12.2022, 13:27   #8  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Вложенный проект - с рабочего приложения.

Как вызываете ?
Вот для примера код лукапа в сложной диалоговой форме (выбор счетов ГК) - ни разу не ругалось
X++:
public void lookup()
{
    MultiSelectLookup   msLookup;

    ;

    msLookup = new MultiSelectLookup(tablenum(LedgerTable), this);
    msLookup.addLookupField(fieldnum(LedgerTable, AccountNum), true);
    msLookup.addLookupField(fieldnum(LedgerTable, AccountName));
    msLookup.addLookupField(fieldnum(LedgerTable, AccountPlType));
    msLookup.performLookup();
}
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 27.12.2022, 14:29   #9  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Вложенный проект - с рабочего приложения.

Как вызываете ?
Вот для примера код лукапа в сложной диалоговой форме (выбор счетов ГК) - ни разу не ругалось
X++:
public void lookup()
{
    MultiSelectLookup   msLookup;

    ;

    msLookup = new MultiSelectLookup(tablenum(LedgerTable), this);
    msLookup.addLookupField(fieldnum(LedgerTable, AccountNum), true);
    msLookup.addLookupField(fieldnum(LedgerTable, AccountName));
    msLookup.addLookupField(fieldnum(LedgerTable, AccountPlType));
    msLookup.performLookup();
}
В форме MuiltiItemIdLookup \ initParameters переделал немного строчку
selectorSet.add(SysQuery::value(conpeek(selectedValues, i)));
Старый 27.12.2022, 14:30   #10  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
А так все работает как нельзя лучше , спасибо большое !!!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ariste.info: Add multi selection lookup to a SysOperation Framework dialog Blog bot DAX Blogs 0 21.01.2020 11:11
stoneridgesoftware: Dynamics 365 for Finance and Operations: More Than One Form Was Opened at Once for the Lookup Control Blog bot DAX Blogs 0 16.07.2018 21:13
Prabhats: DAX 2009: Temporary Tables in Enterprise Portal Blog bot DAX Blogs 0 26.07.2015 07:40
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06

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

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

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