在 table 级别修改字段的可编辑性
Modifying fields editability on a table level
我有 2 个 table,第一个 table 字段的可编辑性取决于来自另一个相关 table 的 NoYes 枚举值。我想知道防止在 table 级别编辑字段的最佳方法。
我想在 validatefield 上抛出一个例外,但我不知道这是否是最好的方法。
谢谢!
在这里抛出异常是不好的。更好的做法是首先阻止更改。
这是在第一个table的active
数据源方法中完成的:
this.object(fieldNum(table1,field1)).allowEdit(table2.field2);
我有一个似乎有效的解决方案,在 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;
}
你怎么看?
我有 2 个 table,第一个 table 字段的可编辑性取决于来自另一个相关 table 的 NoYes 枚举值。我想知道防止在 table 级别编辑字段的最佳方法。
我想在 validatefield 上抛出一个例外,但我不知道这是否是最好的方法。
谢谢!
在这里抛出异常是不好的。更好的做法是首先阻止更改。
这是在第一个table的active
数据源方法中完成的:
this.object(fieldNum(table1,field1)).allowEdit(table2.field2);
我有一个似乎有效的解决方案,在 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;
}
你怎么看?