AX 2009 父窗体参数记录传递

mac2022-06-30  109

父窗体传递子窗体

1、在Menu Item中的属性——Properties中设置要传的值,如:1。2、在被传值页面中的方法中element.args().parm() 就能得到被传的值。

 

假如FormA和FormB,它们的记录(record)具有相同的EDT,就可以直接用menuitem button来调用,Axapta会自动帮你传递值,并且在FormB中自动过滤掉相应的值。

在MenuItem的属性Parameters里设置一个参数;然后在Form的Init里如下进行判断:

 

if (element.args().parm()  ==   " 参数 " ){   ......}

 

第一个窗口的Button按钮CLICKED事件

 

void  clicked(){    Args args;    FormRun fr;    str  zz;    ;    super();    zz  =   "Kurodo " ;    args  =   new  Args( " Test2011 " );    args.caller(element);    args.parm(zz);    fr  =  ClassFactory.formRunClass(args);    fr.init();    fr.run();    fr.wait();}

 

被调用窗体Test2011的init函数

 

public   void  init(){     // FormRun fr;      super();     // fr =element.args().caller();     print  element.args().parm();    print fr.name();    }

 

再一种写法,设置数据源,然后在写代码,切忌。别代码写的呱呱响,然后编译无错,结果无法运行就傻眼了~

 

 

void  init(){    InventTable       m_InventT;    ;    m_InventTJ  =  element.args.record();     this .doSomeThing();}

 

 

转载于:https://www.cnblogs.com/Kurodo/archive/2011/07/21/2113003.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)