从一个form(Report)传递多个参数到另外一个form(report)
方法二,把参数保存到一个class,用方法 args.parmObject(_objectname); 传递class到另外一个form,
然后用 方法 _objectname = element.args().parmObject();得到class;
方法三,使用临时表,用方法 args().record(YourTmpTable); 传递临时表;
方法四,
作者:MAXFara,原贴:http://www.qiuhao.com/boke.asp?maxfara.showtopic.8.html
注:导入附件不会改变Axapta原有的代码,增加了一个Form,Job,Class。
例子里面演示了如何使用自己创建的Form作为Dialog的UI界面,以及如何在调用者与对话框Form之间交互数据。
解决的方法有很多种,本例采用了使用一个中间类来传递数据的策略。
主要代码有:
Job:
static void testDialogJob(Args _args)
{
testDialogClass testDialogClass ;
;
testDialogClass = new testDialogClass() ;
info(testDialogClass.mystr()) ;
}
Class:
class testDialogClass
{
str mystr ;
}
void new()
{
Args args = new Args();
FormRun formRun;
;
args = new Args(FormStr(''testdialogform''));
args.parmObject(this);
formRun = classFactory.formRunClass(args);
formRun.init();
formRun.run() ;
formRun.wait();
}
//访问变量的方法
public str mystr(str _str = mystr)
{
;
mystr = _str ;
return mystr ;
}
Form:
public class FormRun extends ObjectRun
{
testdialogclass testdialogclass ;
}
public void init()
{
super();
testdialogclass = this.args().parmObject();
}
public boolean modified()
{
boolean ret;
ret = super();
testdialogclass.mystr(StringEdit.text());
return ret;
}