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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.11.2004, 17:51   #1  
George V. Tavrizoff is offline
George V. Tavrizoff
Участник
 
69 / 10 (1) +
Регистрация: 02.02.2003
Адрес: Вашингтонский обком
InputBox
Всем привет!

Попросили задать вопрос (и самому интересно):

Необходимо запросить в диалоговом окне значение одного поля.
Что-нибудь типа этого:

TransDate transDate;
;
transDate = InputBox::Input("Введите дату", "Ввод даты", #01.01.2004#);

С уважением, Георгий.
Старый 22.11.2004, 17:56   #2  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
ddaMonthMesuriment ddaMM;

boolean MyDialog()
{
Dialog dialog = new Dialog("Введите");
DialogField StrVal = dialog.addField(typeid(ddaMonthMesuriment),"измерение.");
;
if (dialog.run())
{
ddaMM = StrVal.value();
return true;
}
return false;
}


if( MyDialog() == false) return ;
За это сообщение автора поблагодарили: star52 (1).
Старый 02.04.2021, 10:30   #3  
star52 is offline
star52
Участник
 
7 / 10 (1) +
Регистрация: 14.04.2020
Адрес: Кемеровская область
Постоянно забываю структуру Dialog и то как создать даже простое строковое...
Старый 02.04.2021, 11:53   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
На основе класса диалог когда-то делал для себя такой метод
X++:
static container InputBox(container _conFields, caption _caption = "")
{
    container ret = conNull();
    Dialog dlg = new Dialog();
    List listFields = new list(Types::Class);
    ListEnumerator enumerator;
    int n = conlen(_conFields);
    int i;
    ;

    for (i = 1; i <= n; i += 3)
    {
        listFields.addEnd(
            dlg.addFieldValue(
                conpeek(_conFields, i),
                conpeek(_conFields, i + 1),
                conpeek(_conFields, i + 2)));
    }

    dlg.caption(_caption);

    if (dlg.run())
    {
        enumerator = listFields.getEnumerator();
        while (enumerator.moveNext())
        {
            ret += enumerator.current().value();
        }
    }

    return ret;
}
в переменную _conFields нужно передать сплошным списком тройки параметров такие же как в dialog.addFieldValue: тип, значение по умолчанию, подпись

Пример использования:
X++:
static void Job_TestInputBox(Args _args)
{
    FromDate FromDate;
    ToDate ToDate;
    container con;
    ;

    con = ksm::InputBox([
        typeId(FromDate), FromDate, "",
        typeId(ToDate), ToDate, ""
        ], "Caption");

    if (con == conNull())
    {
        // на диалоге пользователь нажал кнопку Отмена
        return;
    }

    [FromDate, ToDate] = con;
    
    info(strfmt("FromDate = %1", FromDate));
    info(strfmt("ToDate = %1", ToDate));
    //...
}
 


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

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

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