我有2个表,第1个表字段的可编辑性取决于来自另一个相关表的NoYes枚举的值。我想知道阻止在表级别上创建字段的最佳方法。
我想在validatefield上抛出一个例子,但我不知道它是不是最好的方法。
谢谢!
答案 0 :(得分:2)
此处抛出异常并不好。更好的是首先防止变化。
这是在第一个表的active
数据源方法中完成的:
this.object(fieldNum(table1,field1)).allowEdit(table2.field2);
答案 1 :(得分:-1)
我有一个似乎有效的解决方案,在table1的validateField()方法上。
public boolean validateField(FieldId _fieldIdToCheck)
{
boolean ret;
Table1 table1;
ret = super(_fieldIdToCheck);
select field1 from table1
where table1.recid == this.recid;
if (table1.field1)
{
ret = checkFailed("No editable");
}
return ret;
}
您怎么看?