Comment créer une simple boîte de dialogue dans Dynamics ax?
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());
}
}
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
, ...)
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;
}