修改表级别的字段可编辑性

时间:2015-01-19 10:14:35

标签: axapta x++

我有2个表,第1个表字段的可编辑性取决于来自另一个相关表的NoYes枚举的值。我想知道阻止在表级别上创建字段的最佳方法。

我想在validatefield上抛出一个例子,但我不知道它是不是最好的方法。

谢谢!

2 个答案:

答案 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;
}

您怎么看?