Wednesday, 15 March 2017

Pass the parameter from one form to another in Dynamic AX

 Create two forms with Name FormA & FormB.

 FormA with 1 stringedit and 1 button & FormB with 1 StringEdit.

 Below code is override in clicked method() of button.

void clicked()
{
    // Args class is usually used in Axapta for passing parameters between forms
    Args            args;
    FormRun         formRun;
    ;
    args = new args();  
    // Our values which we want to pass to FormB
    // If we want pass just simple string we can use 'parm' method of 'Args' class
    args.parm( AccountNum.text() );
    // Run FormB
    args.name( formstr( FormB ) );
    formRun = classFactory.formRunClass( Args );
    formRun.init();
    formrun.run();
    formrun.wait();
    super();
}
 Now override init() method in FormB.
public void init()
{
    str             anyStringValueFromCaller;
    ;
    super();
    // Check for passed arguments
    if( element.args() )
    {
        // get string parameter
        anyStringValueFromCaller = element.args().parm();
        SelectedAccountNum.text(anyStringValueFromCaller);
    }
}

No comments:

Post a Comment