2013-03-27 65 views
2

我已经使用标准的图案增加了一个数据源,以一种形式:setTmpData()上动态添加形式的DataSource

Args args; 
FormRun formRun; 

Form form; 
FormBuildDataSource formBuildDataSource; 
; 

form = new Form(formstr(ICS)); 
formBuildDataSource = form.addDataSource('dbm_ICStmp'); 
//formBuildDataSource.table(tablenum(dbm_ICStmp)); 

args = new Args(); 
args.object(form); 

formRun = classfactory.formRunClass(args); 

formRun.init(); 
formRun.run(); 
formRun.detach(); 

dbm_ICStmp是临时表。我如何调用setTmpData?

回答

4

我可以推荐你一些事情这一点:

  1. 使用ClassFactory创建表单(The Args class - Classfactory
  2. 而不是通过代码加入您的数据源的形式外,尽量把临时表作为表单上的数据源。
  3. 当您打开表单时,临时表将为空,但您可以使用setTmpData(MyTemporaryRecordInstance)方法添加数据。然后MyTemporaryRecordInstance是一个临时表,您在此之前填写完毕。欲了解更多信息,您可以在以下链接中找到您需要了解的关于临时表的所有信息:Temporary tables in forms
+0

这就是问题所在!我想你可以添加一个数据源到现有的表单,而不得不在实例化之前添加它?谢谢! – tradotto 2013-03-28 15:22:50