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

Form data source edit method on a view - 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);
}

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

我正在为我的数据源使用视图,而不是 table。我不确定这是否是它的原因,或者是否还有其他问题。知道这里可能有什么问题吗?

提前致谢。

编辑

数据源上的 AllowEdit 为真。

好的,我仔细检查了一下,在 AX 文档中找到了以下关于视图的内容

Views are read-only. The data fields and tables that a view uses cannot be updated from that view.

因此,编辑方法将不起作用,因为首先无法编辑视图。

编辑

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

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

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