Потеря обновленных записей в кеше при смене страницы - PullRequest
0 голосов
/ 12 октября 2018

Я расширяю экран GL404000, и у меня возникает следующая проблема:

Когда я выбираю несколько записей на первой странице:

enter image description here

Я могу легко получить их в обновленном кэше:

enter image description here

Но при нажатии на «Следующая страница»в части сетки эти записи исчезают из обновленного кэша.Тем не менее, когда я нажимаю «Предыдущая страница», статус «Выбрано» все еще там, поэтому он должен быть сохранен где-то в кэше, но я не могу понять, где.

Моя цель состоит в том, чтобы иметь возможностьчтобы получить все выбранные записи на этом экране, чтобы я мог обработать их все.Даже если они больше не отображаются на странице.

Что я пропустил?

С уважением

1 Ответ

0 голосов
/ 15 октября 2018

Если вы пытаетесь получить «выбранные» элементы в пользовательской кнопке на расширении, вы можете добиться правильных результатов с помощью следующего кода:

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();
    }
}
...