How can you create a simple dialog box in Dynamics AX?

不问归期 提交于 2019-12-08 15:43:08

问题


How can you create a simple dialog box in Dynamics ax?


回答1:


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());
    }
}



回答2:


for really simple dialog boxes, use the Box Class:

    Box::info("your message");

or

    Box::warning("your message");

or

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

or one of the other static methods (infoOnce, yesNo, yesNoCancel, yesAllNoAllCancel, ...)




回答3:


DAX 2012 does not have "typeid" as a method. But you can use extendedTypeStr and then pass in either a known EDT or use the built in string length versions:

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;
}


来源:https://stackoverflow.com/questions/4379714/how-can-you-create-a-simple-dialog-box-in-dynamics-ax

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!