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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.11.2001, 13:38   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Создание в диалоговом окне выпадающего списка (ComboBox)
Предположим, что нам необходимо в диалоговом окне, создающемся во время выполнения программы, создать выпадающий список. Решается эта задача следующим образом.

X++:
Dialog MyDialog = new Dialog("Мой диалог");

DialogField MyFieldDialog;

............

MyFieldDialog = MyDialog.addField(typeid (enum_list), "myfield");

MyFieldDialog.value(enum_list::Element1);

............

MyDialog.run();
В первой строке создается диалог с именем MyDialog и заголовком «Мой диалог». Во второй строке объявлена переменная, которая будет использоваться для доступа к элементу управления выпадающий список. Далее, в третьей строке, мы добавляем в MyDialog этот элемент управления (метод addField возвращает значение типа DialogField, которое может использоваться для доступа к добавленному элементу). enum_list является типом данных вида Base Enum и содержит строки выпадающего списка. В строке номер 4 выбор в этом списке устанавливается на Element1 (это одно из значений типа enum_list). В последней строке выбранный диалог запускается. Он рисуется на экране, и программа останавливается (то есть управление не идет дальше строки №5) до тех пор, пока диалог не будет завершен.

Антон Скоробогатов
Старый 08.09.2005, 18:52   #2  
Горбунов Дмитрий is offline
Горбунов Дмитрий
Участник
 
10 / 11 (1) +
Регистрация: 16.11.2004
Адрес: С-Петербург
Всем привет!

Предлагаю аналогичный вариант только не обязательно привязываться к конкретному ENUMу (можно работать с произвольным массивом данных):

X++:
static void SuperJob(Args _args)
{
    Dialog              dialog;                 //Окно
    DialogField         DF;                     //Поле
    object              ctrlGroup;
    int                 i;
    str                 a[];
    ;
    a[1]='35 Вт'; a[2]='50 Вт'; a[3]='60 Вт'; a[4]='75 Вт'; a[5]='100 Вт';

    dialog      = new Dialog("Типы ламп накаливания");

    DF  =  Dialog.addField(Types::ENUM, "Лампочки");

    ctrlGroup      = DF.fieldControl();

    // Указываем количество объектов в выпадающем списке
    ctrlGroup.items(5);

    // Заполняем выпадающий список
    for (i=1;i<=5;i++)
    {
        ctrlGroup.item(i);
        ctrlGroup.text(a[i]);
    }
    if((dialog.Run() && dialog.ClosedOk()))
    {
    }
}
За это сообщение автора поблагодарили: Maximin (1).
Старый 23.11.2005, 12:26   #3  
Пагер Маяковский is offline
Пагер Маяковский
Участник
 
20 / 10 (1) +
Регистрация: 08.04.2005
Адрес: Москва
Макс! Спасибо! Очень пригодилось!
Теги
dialog

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Редактируемость выпадающего списка Gorlum DAX: Программирование 4 19.01.2015 11:17
Конфигуратор продукции. Вычислимые переменные в диалоговом окне Lily DAX: Функционал 6 07.05.2007 14:20
LookUp в диалоговом окне fialka DAX: Программирование 11 14.12.2006 11:15
Вебинтерфейс. Создание строк, их выбор. Отркытие страницы в новом окне IvanS DAX: Программирование 3 27.10.2006 10:54
Конфигуратор продукции - событийный вывод значения в диалоговом окне OliaM DAX: Функционал 11 14.04.2005 14:03

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

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

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