我正在扩展GL404000屏幕,并且遇到以下问题:
当我在第一页上选择一些记录时:
我能够轻松地在更新的缓存中检索它们:
但是,当单击网格部分上的“下一页”时,这些记录将从更新的缓存中消失。但是,当我单击“上一页”时,“已选择”状态仍然存在,因此必须将其存储在缓存中的某个位置,但是我不知道该在哪里。
我的目标是能够检索此屏幕上的每个选定记录,以便我可以处理所有记录。即使它们不再显示在页面上。
我想念什么?
致谢
答案 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();
}
}