Smarter dialogs

20 Jun

I don’t know about you, but it seems to me that dialogs for jobs in AX gets more and more complicated. I have a feeling a few of them could solve most of the world’s problems with hunger and pollution, if I could only figure out how fill the dialog fields correctly…
Users need help and guidance with the dialogs and to give the best guidance you may need to react to the choices made by the user in the dialog.
Two methods on RunBase allow you to hook up some events from the dialog form with your RunBase inheriting class:

  • dialogSelectCtrl is executed every time a new control is selected. I.e. when you move from one field to another.
  • dialogTask is executed every time the task method of the dialog form is called.

Here’s an example of how you can enable or disable fields based on what the users selects.

class dialogTest extends RunBase
    DialogField     dialogFieldCustVend;
    DialogField     dialogFieldCustAccount;
    DialogField     dialogFieldVendAccount;
public container pack()
    return conNull();
public boolean unpack(container packedClass)
    return true;
static void main(args _args)
    dialogTest   dialogTest = new dialogTest();
protected DialogRunBase dialog()
    DialogRunBase   dialog = super(dialog, true);
dialogFieldCustVend = dialog.addField(typeId(NoYesId), "Show vendor?");
dialogFieldCustAccount = dialog.addField(typeId(CustAccount));
dialogFieldVendAccount = dialog.addField(typeId(VendAccount));
// We start out by disabling the VendAccount field
return dialog;
public void dialogSelectCtrl()

   dialogFieldCustAccount.enabled(dialogFieldCustVend.value() == NoYes::No);
   dialogFieldVendAccount.enabled(dialogFieldCustVend.value() == NoYes::Yes);
Leave a comment

Posted by on June 20, 2012 in X++



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


AxaptaHut ax = new AxaptaHut();

All About Dynamics 365

Dynamics 365, D365, Implementor

Syed Rafay Ali

This blog contains information about Functional techniques and guidelines in Microsoft Dynamics AX, including tips, tricks, tutorials, tools and upcoming news enhancement in Microsoft Dynamics Ax

Philippsen's Blog

Everyday findings in my world of .net and related stuff

Microsoft Dynamics AX

A great site


All things Blockchain, ERP and IoT

Dynamics Ax

Technical Knowledge


A blog about implementing Microsoft Dynamics AX and Dynamics 365 for Operations

Microsoft Dynamics 365 Blog

Start your organization's digital transformation with Dynamics 365, A Blog by Sandeep Chaudhury

DEVSerra - Dynamics AX development blog

Your official Microsoft Dynamics AX blog.


Discovering Dynamics


A blog by Hai Nguyen

Learn Dynamics Ax with Johnkrish

Live as if you were to die tomorrow. Learn as if you were to live forever - Mahatma Gandhi ****** The more I learn, the less I know - Albert Einstein

Twisted Untwirled

Just another site


Just another site

guyterry's Dynamics AX blog

Just another Dynamics AX blog

%d bloggers like this: