Dynamics Axeで簡単なダイアログボックスを作成するにはどうすればよいですか?
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());
}
}
本当にシンプルなダイアログボックスの場合は、 ボックスクラス を使用します。
Box::info("your message");
または
Box::warning("your message");
または
if (Box::okCancel("continue?", DialogButton::Cancel) == DialogButton::Ok)
{
// pressed OK
...
または他の静的メソッド(infoOnce
、yesNo
、yesNoCancel
、yesAllNoAllCancel
、...)
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;
}