web-dev-qa-db-ja.com

Dynamics AXで簡単なダイアログボックスを作成するにはどうすればよいですか?

Dynamics Axeで簡単なダイアログボックスを作成するにはどうすればよいですか?

11
James Moore
static void DialogSampleCode(Args _args)
{
    Dialog      dialog;
    DialogField field;
    ;
    dialog = new Dialog("My Dialog");
    dialog.addText("Select your favorite customer:");
    field = dialog.addField(typeid(CustAccount));

    dialog.run();
    if (dialog.closedOk())
    {
        info(field.value());
    }
}
23
James Moore

本当にシンプルなダイアログボックスの場合は、 ボックスクラス を使用します。

    Box::info("your message");

または

    Box::warning("your message");

または

    if (Box::okCancel("continue?", DialogButton::Cancel) == DialogButton::Ok)
    {
        // pressed OK
        ...

または他の静的メソッド(infoOnceyesNoyesNoCancelyesAllNoAllCancel、...)

21
user85421

DAX 2012には、メソッドとして「typeid」がありません。ただし、extendedTypeStrを使用してから、既知のEDTを渡すか、組み込みの文字列長バージョンを使用できます。

str getStringFromUser(str _Prompt, str _title)
{
    str         userResponse = "";
    Dialog      dlg = new Dialog(_title);
    DialogField dlgUserResponse = dlg.addField(extendedTypeStr(String15), _Prompt);

    // This prompts the dialog
    if (dlg.run())
    {
        try
        {
            userResponse = dlgUserResponse.value();
        }
        catch(Exception::Error)
        {
            error("An error occurred. Please try again.");
        }
    }
    return userResponse;
}
0
Lexi Mize