场景: 我创建了两种简单的形式。 Form1是带有按钮的简单StringEdit控件。 Form2是一组不同的控件和按钮,单击Form1的按钮后,Form2打开。
我需要什么: 我需要的是用在Form1的StringEdit控件中设置的值初始化的Form2。
我试图通过将DataSource和DataField分配给StrinEdit控件来做到这一点,并且有效:
void clicked()
{
Args args;
FormRun formRun;
;
args = new Args();
args = element.args();
args.name(formStr(Form3));
args.record(SMAServiceOrderTable);
formRun = ClassFactory.formRunClass(args);
formRun.init();
formRun.run();
formRun.wait();
super();
}
public void init()
{
SMAServiceOrderTable serviceordertable;
super();
serviceordertable = element.args().record();
}
但是当将DataSource和DataField关联到StringEdit时,此方法有效。有人可以解释一下,当ExtendedDataType是ExtendedDataType时,应该如何构建它以将Form1的值传递给Form2?
谢谢。
答案 0 :(得分:1)
如果您已经能够使用args.record()
将记录传递给被调用对象(Form2),则还可以使用args.parm()
传递字符串值args.parmEnum()
和{ {1}}传递枚举值,或args.parmEnumType()
传递任何对象。您还可以使用args.parmObject()
,以便Form2可以访问Form1方法。
答案 1 :(得分:0)
选项1,使用args.caller(element)来form1实例,并在Form1中创建一个方法来返回将起作用的字符串字段的值。 选项2是重写按钮单击方法以通过代码打开Form2,此时您可以将参数传递给Form。 另请参阅此博客https://calebmsdax.wordpress.com/2013/02/22/passing-parameters-between-forms-in-ax/