Axapta 如何在网格中刷新列表页面而不失去焦点?

Axapta 如何在网格中刷新列表页面而不失去焦点?,axapta,Axapta,我正在列表页面网格中打开项目的详细信息。可能会有一些更改,因此在关闭detail()并刷新列表页数据源之后 我正在从参数访问列表页数据源 FormDataSource callerDataSource; callerDataSource = element.args().record().dataSource(); 但我可以得到以下结果之一 1) 我重新读取()当前记录 callerDataSource.reread(); 网格中的数据已更改,但表单部件不会刷新 2) 我研究(真实

我正在列表页面网格中打开项目的详细信息。可能会有一些更改,因此在关闭detail()并刷新列表页数据源之后

我正在从参数访问列表页数据源

FormDataSource   callerDataSource;
callerDataSource = element.args().record().dataSource();
但我可以得到以下结果之一

1) 我重新读取()当前记录

callerDataSource.reread();   
网格中的数据已更改,但表单部件不会刷新

2) 我研究(真实的)数据源

callerDataSource.research(true);
我甚至尝试了一个版本的研究

callerDataSource.reread();       
callerDataSource.rereadReferenceDataSources();            
callerDataSource.research(true);
但我在网格中失去了焦点

3) 我通过调用任务F5

#Task
Element.args().caller().task(#taskF5);
但这里也失去了重点

我希望在网格和表单部分中有新数据,但不要在网格中失去焦点。(仅刷新所选记录和信息部分就足够了,这取决于它。)

该表已选择主索引。它是recid(未在网格中显示)

我怎么做呢?

没关系,我找到了

我的解决办法是利用这个职位

FormDataSource   callerDataSource;
int position;
callerDataSource = element.args().record().dataSource();    

position = callerDataSource.getPosition();
callerDataSource.reread();               
callerDataSource.research(true);
callerDataSource.setPosition(position);

如果您使用的是
research()
,则不需要重新阅读(),如前所述或