我有2个表单,让我们调用表单A和B.在表单A中,我有一个按钮(空白按钮),当单击该按钮时,它将重定向到带有参数的表单B,该参数将注入表单B的数据源我无法检索表单B的数据源,它总是返回null.
[FormControlEventHandler(formControlStr(htVehicleListPage, FormCommandButtonControl1), FormControlEventType::Clicked)]
public static void FormCommandButtonControl1_OnClicked(FormControl sender, FormControlEventArgs e)
{
FormDataSource htVehicleTable= sender.formRun().dataSource(formDataSourceStr(htVehicleListPage,htVehicleTable));
htVehicleTable record=htVehicleTable.cursor();
info(int2Str(record.htVehicleID)); //result: some legit ID.
Args argsObj=new Args();
argsObj.name(formStr(htVehicleMaintenanceDetails));
FormRun formRunObj=new FormRun(argsObj);
FormDataSource openningFormDataSource =formRunObj.dataSource(formDataSourceStr(htVehicleMaintenanceDetails,htVehicleMaintenance)); //result: openningFormDataSource is null, however, formRunObj is not null.
Query queryObj=new Query();
openningFormDataSource.query(queryObj);
QueryBuildDataSource queryBuildDataSourceObj=queryObj.addDataSource(tableNum(htVehicleMaintenance));
queryBuildDataSourceObj.addRange(fieldNum(htVehicleMaintenance,htVehicleID)).value(strFmt("htVehicleMaintenance.htVehicleID=%1",record.htVehicleID));
formRunObj.init();
formRunObj.run(); //if we inorge the null error it will show a form here
formRunObj.wait();
}
Run Code Online (Sandbox Code Playgroud)
FormRun只是......它是运行形式的对象.openningFormDataSource因为您之前调用它formRunObj.init();并且表单尚未运行,您将为null .
它会Form.init(),然后它Form...Datasource.init(),然后Form.run()基本上.
向上移动formRunObj.init()并再试一次.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |