我已将新字段添加到 InventNonConformanceTable 表单中,方法是将它们添加到 Overview 和 ProblemInformation 数据组中,并且它们显示在表单上,但每当我尝试使用 formControlStr 引用它们时,编译都会失败,并显示“Form control 'x' is在 InventNonConformanceTable 中未找到。
我可以在运行时使用 formRun.design().controlName('x'),因此肯定会添加控件。
这种情况也仅发生在现有的表单组控件中,如果我添加一个新的表单组控件并将这些字段组中的任何一个作为数据组,我可以像往常一样创建事件处理程序。
就我而言,我必须根据某种逻辑设置表单上字段的可见性。
这可以在数据源字段上实现,而不是使用具有以下逻辑的 formControlStr 。
这甚至更好,因为它还可以防止用户通过自定义在表单上添加字段等。
FormDataSource purchLine_ds = formRun.dataSource(formDataSourceStr(PurchTable, PurchLine));
if(this.customFieldShouldBeVisible())
purchLine_ds.object(fieldNum(PurchLine, CustomFieldName)).visible(true);
else
purchLine_ds.object(fieldNum(PurchLine, CustomFieldName)).visible(false);