У меня есть страница visualforce, которая отображается на странице макета страницы возможностей в строке. Цель состоит в том, чтобы отобразить каждую возможную позицию (OLI), связанную с возможностью, с полем ввода количества. Мне нужно изменить количество OLI на странице VF. У меня есть контроллер, который расширен от стандартного контроллера возможностей, и все отображается правильно, но когда я пытаюсь сохранить с помощью своего настраиваемого метода сохранения, страница обновляется, а изменения в полях не обновляются. Любая помощь приветствуется!Обновление количества позиций с несколькими вариантами на одной странице Visualforce
VF PAGE:
<apex:page standardController="Opportunity" extensions="OLIController">
<apex:form >
<apex:pageBlock title="Opportunity Products">
<apex:pageBlockTable var="OLI" value="{!OLIs}" id="newProduct">
<apex:column value="{!OLI.name}"/>
<apex:column headerValue="Quantity">
<apex:inputfield id="Quantity" value="{!OLI.Quantity}"/>
</apex:column>
</apex:pageBlockTable>
<apex:pageBlockButtons >
<apex:commandButton value="Save" action="{!saveIt}" immediate="false"/>
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>
CONTROLLER: общественности с классом обмена OLIController {
public ApexPages.StandardController sc;
public Opportunity Opp {get;set;}
private Map<Id, OpportunityLineItem> oliItems;
public List<OpportunityLineItem> OLIlist2 {get ;set;}
public OLIController(ApexPages.StandardController sc) {
this.Opp = (Opportunity)sc.getRecord();
}
public List<OpportunityLineItem> getOLIs() {
List<OpportunityLineItem> OLIlist2 = [Select Name, ID, Quantity, OpportunityId FROM OpportunityLineItem WHERE OpportunityId =:Opp.Id];
return OLIlist2;
}
public PageReference saveIt() {
List<OpportunityLineItem> listOLI = getOLIs();
update listOLI;
return null;
}
}