gotFocus并在未被调用的Form字段上输入方法



如果另一个字段设置为特定值,我的销售订单表单(SalesTable)中有一些字段需要禁用。为了做到这一点,我重写了表单字段上的enter和gotFocus方法(我同时做了这两个方法来测试它)。代码经过编译,没有任何问题。

我的问题是,当我单击相应网格列中的字段时,这两个重写方法都不会被调用。是什么原因导致enter和gotFocus方法不能在网格字段上调用?

不要使用gotFocusenter方法。

制作一个数据源方法来进行更改:

void setAllowEdit()
{ 
    salesTable_ds.object(fieldnum(SalesTable, Name)).allowEdit(salesTable.SalesType == SalesType::Journal);
}

active方法调用方法:

public int active()
{
    int ret = super();
    ...
    this.setAllowEdit()
    return ret;
}

从数据源字段(在本例中为SalesType字段)调用方法:

public void modified()
{
    super()
    salesTable_ds.setAllowEdit()
    element.changeType(); // standard code
}

最新更新