gpt4 book ai didi

axapta - 刷新列表页面网格时光标移动到顶部

转载 作者:行者123 更新时间:2023-12-04 21:18:23 26 4
gpt4 key购买 nike

各位开发者,
我有一个自定义列表页面,用户可以在其中选择几条记录,点击操作 Pane 中的按钮,在类中运行一些逻辑,一切正常。我的问题是光标不会停留在同一条记录上而是移动到网格的顶部。听起来像一个熟悉的问题?

我在具有所有逻辑的自定义类中使用 args 存储列表页面的 FormDataSource。

我尝试了几件事,但没有奏效。

  • formDataSource.research(true)
    真正的参数应该在研究完成后保留位置。我猜这应该是最直接的解决方案。列表页面查询有 2 个数据源使用外连接连接,我的猜测是 research(true) 仅适用于内连接。
  • formDatasource.setPosition(position)

    内部位置;
    位置 = formDatasource.getPosition();

    formDatasource.research();

    formDatasource.setPosition(position);

    我使用 getPosition 存储位置并使用 setPosition 再次设置它。没用。
  • formDataSource.findRecord()

    currentRecord = formDatasource.cursor();

    recId = currentRecord.RecId;
    formDatasource.reread();

    formDatasource.research();
    formDatasource.findRecord(currentRecord);

    我使用 ds.cursor() 获取当前记录并在 research() 之后将其传递给 findRecord()。没用。
  • formDataSource.findValue()

    currentRecord = formDatasource.cursor();

    recId = currentRecord.RecId;
    formDatasource.reread();

    formDatasource.research();
    formDatasource.findValue(fieldNum(Table, RecId), int642str(recId));

    我使用 ds.cursor() 来获取当前记录和 recId 并在 research() 之后将其传递给 findValue()。没用。

  • 我调试了上面的代码,cursor() 方法确实获取了当前记录及其 recId。
    我开始相信这可能是列表页面的限制,并祈祷有人证明我错了。

    任何帮助表示赞赏。

    最佳答案

    使用方法 3 但像这样。

    YourTable tmpTable;


    currentRecord = formDatasource.cursor();

    recId = currentRecord.RecId;
    tmpTable = TmpTable::findByRecId(recId);
    formDatasource.reread();

    formDatasource.research();
    formDatasource.findRecord(tmpTable);

    希望这可以帮助。

    关于axapta - 刷新列表页面网格时光标移动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17696022/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com