web-dev-qa-db-fra.com

Comment créer une simple boîte de dialogue dans Dynamics AX?

Comment créer une simple boîte de dialogue dans Dynamics ax?

9
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());
    }
}
22
James Moore

pour des boîtes de dialogue très simples, utilisez la classe Box Class

    Box::info("your message");

ou 

    Box::warning("your message");

ou

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

ou l'une des autres méthodes statiques (infoOnce, yesNo, yesNoCancel, yesAllNoAllCancel, ...)

17
Carlos Heuberger

DAX 2012 n'a pas "typeid" comme méthode. Mais vous pouvez utiliser extendedTypeStr puis transmettre soit un EDT connu, soit utiliser les versions intégrées de longueur de chaîne:

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