Я создал представление на странице «Элементы запасов», на котором отображаются все элементы с тем же классом предметов, что и просматриваемый элемент. Представление отображается правильно, но текущее свойство неверно. По какой-то причине запись relatedItems.Current
всегда является элементом, находящимся на этой странице, а не элементом, выбранным в сетке.Текущее свойство настраиваемого представления не обновляется правильно
У меня есть функция обратного вызова на странице ASPX и InventoryCD
LinkCommand, вызывающая эту функцию. Что странно, у меня такой же код на экране «Классы предметов», и он отлично работает.
Свойство Current
моего пользовательского представления - это всегда запись, на которую была нажата кнопка. У меня установлен параметр SyncPosition
, равный true для сетки. Может ли быть проблема, потому что я ссылаюсь на InventoryItem
на InventoryItem
? Благодаря
public class InventoryItemMaint_Extension : PXGraphExtension<InventoryItemMaint>
{
#region Event Handlers
public PXSelectReadonly<InventoryItem, Where<InventoryItem.itemClassID, Equal<Current<InventoryItem.itemClassID>>, And<InventoryItem.inventoryID, NotEqual<Current<InventoryItem.inventoryID>>>>> relatedItems;
public PXAction<InventoryItem> ViewCurrentItem;
[PXButton]
protected virtual void viewCurrentItem()
{
InventoryItem row = relatedItems.Current;
// Create the instance of the destination graph
InventoryItemMaint graph = PXGraph.CreateInstance<InventoryItemMaint>();
graph.Item.Current = row;
if (graph.Item.Current != null)
{
throw new PXRedirectRequiredException(graph, true, "Item");
}
}
}
Я обновил исходный ответ. – DChhapgar