更改页面时丢失缓存中的更新记录

时间:2018-10-12 17:00:33

标签: acumatica

我正在扩展GL404000屏幕,并且遇到以下问题:

当我在第一页上选择一些记录时:

enter image description here

我能够轻松地在更新的缓存中检索它们:

enter image description here

但是,当单击网格部分上的“下一页”时,这些记录将从更新的缓存中消失。但是,当我单击“上一页”时,“已选择”状态仍然存在,因此必须将其存储在缓存中的某个位置,但是我不知道该在哪里。

我的目标是能够检索此屏幕上的每个选定记录,以便我可以处理所有记录。即使它们不再显示在页面上。

我想念什么?

致谢

1 个答案:

答案 0 :(得分:0)

如果您尝试在扩展程序的自定义按钮中检索“选定”项目,则可以使用以下代码获得正确的结果:

public class AccountByPeriodEnqExtension : PXGraphExtension<AccountByPeriodEnq>
{
    public PXAction<AccountByPeriodFilter> RetrieveSelected;

    [PXButton(CommitChanges = true)] //Must be true for button press to post modifications to the server
    [PXUIField(DisplayName = "Retrieve Selected")]
    public virtual IEnumerable retrieveSelected(PXAdapter adapter)
    {
        List<GLTranR> items = new List<GLTranR>();
        foreach (GLTranR item in Base.GLTranEnq.SearchAll<Asc<GLTranR.selected>>(new object[] { true }, new object[] { }))
        {
            items.Add(item);
        }

        return adapter.Get();
    }
}