我正试图从表单中的数据源向网格添加一个编辑方法。我有以下编辑方法代码:
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();
然后,当用户双击某个方法时,它就会被选中。