Axapta 刷新列表页面网格时,光标移到顶部
各位发展商:, 我有一个自定义列表页面,用户可以在其中选择几个记录,点击操作窗格中的按钮,在类中运行一些逻辑,所有这些都可以正常工作。我的问题是光标不会停留在同一条记录上,而是会移动到网格的顶部。听起来是个熟悉的问题 我使用参数将列表页的FormDataSource存储在具有所有逻辑的自定义类中 我尝试了几件事,但都没有成功Axapta 刷新列表页面网格时,光标移到顶部,axapta,dynamics-ax-2012,Axapta,Dynamics Ax 2012,各位发展商:, 我有一个自定义列表页面,用户可以在其中选择几个记录,点击操作窗格中的按钮,在类中运行一些逻辑,所有这些都可以正常工作。我的问题是光标不会停留在同一条记录上,而是会移动到网格的顶部。听起来是个熟悉的问题 我使用参数将列表页的FormDataSource存储在具有所有逻辑的自定义类中 我尝试了几件事,但都没有成功 formDataSource.research(true) 真参数应该在研究完成其工作后保留该位置。我猜这应该是最直接的解决办法。列表页查询有两个数据源使用外部连接连接,我
position=formDatasource.getPosition() formDatasource.research() formDatasource.setPosition(位置) 我使用getPosition存储位置,并使用setPosition再次设置它。没用
formDatasource.reread() formDatasource.research()
formDatasource.findRecord(currentRecord) 我使用ds.cursor()获取当前记录,并在research()之后将其传递给findRecord()。没用
formDatasource.reread() formDatasource.research()
findValue(fieldNum(表,RecId),int642str(RecId)) 我使用ds.cursor()获取当前记录和recId,并在research()之后将其传递给findValue()。没用
感谢您的帮助。请使用方法3,但要像这样
YourTable tmpTable;
currentRecord = formDatasource.cursor();
recId = currentRecord.RecId;
tmpTable = TmpTable::findByRecId(recId);
formDatasource.reread();
formDatasource.research();
formDatasource.findRecord(tmpTable);
希望这有帮助。尝试将“true”作为研究方法的参数。
salesLine_ds.research(true)在我的情况下有效,即如果我研究该行,光标将停留在同一行。使用第二种方法,如下所示
int position;
position = formDatasource.getPosition();
//Make your update operations here
formDatasource.research(true);
formDatasource.setPosition(position);
这对我很有用。您也可以尝试使用task宏并调用#taskF5刷新表单。这与单击列表页面上的刷新按钮的结果相同。有关更多详细信息,请参阅。'research'有一个可选的布尔参数,用于保留网格中的位置。有关出色的概述,请参见//只需设置tmpTable缓冲区的recId:juwu tmpcostcluation positionDummy;positionDummy.recId=JUW_tmpCostCalculation.recId;JUW_tmpCostCalculation_DS.research();JUW_tmpCostCalculation_DS.findRecord(位置虚拟);