视图上的表单数据源编辑方法-AX 2009



我正试图从表单中的数据源向网格添加一个编辑方法。我有以下编辑方法代码:

edit boolean markLine(
boolean             set,
Datasource          _datasource,
boolean             _mark
)
{
    if (set)
    {
        if (!_mark)
        {
            if (selectedLines.exists(_datasource.RecId))
            {
                selectedLines.remove(_datasource.RecId);
            }
        }
        else
        {
            selectedLines.insert(_datasource.RecId,_datasource.recVersion);
        }
    }
    return selectedLines.exists(_datasource.RecId);
}

然后,我将其拖到一个网格中,该网格中指定了数据源,并包含该数据源中的其他字段。然而,当我尝试在网格中使用它时,不可能选中该框。

我的数据源使用的是视图,而不是表。我不确定这是原因,还是有其他问题。知道这里可能有什么问题吗?

提前谢谢。

编辑

数据源上的AllowEdit为true。

好的,我在AX文档中查看了更多关于视图的内容

视图是只读的。视图使用的数据字段和表不能从该视图更新。

因此,编辑方法将不起作用,因为视图一开始就无法编辑。

编辑

解决方法是覆盖网格中的mouseDblClick方法。在super()之后添加以下代码行:

Datasource_ds.selectedLines(true, Datasource, !selectedLines.exists(Datasource.RecId));
Datasource_ds.refresh();

然后,当用户双击某个方法时,它就会被选中。

最新更新