Page:
<div class="slds-col slds-size_6-of-12">
<label class="slds-form-element__label"> Discount:
</label>
<b><label class="slds-form-element__label"><apex:inputfield value="{!Owner__c.Discount__c}"/></label></b>
</div>
<apex:commandButton styleClass="slds-button slds-button_brand" status="status"
action="{!Save}"
reRender="none" value="Save" id="saveButton"/>
Controller:
public with sharing class OwnervehicleController {
public List<Vehicle__c> Retest{ get; set; }
public Owner__c Offer {get;set;}
public String OwnrId { get; set; }
public OwnervehicleController(ApexPages.StandardController sc) {
OwnrId = sc.getId();
Retest = [
SELECT Id,Name,Owner__c,Disc__c FROM Vehicle__c
WHERE Owner__c = :OwnrId ];
Offer = [SELECT id,Discount__c FROM Owner__c
WHERE id = : OwnrId];
}
public PageReference Save(){
Update offer;
Owner__c sc=[select id,Discount__c from Owner__c where id=:OwnrId];
list<Vehicle__c> Vcle=[select id,Disc__c,Owner__c From Vehicle__c where
Owner__c=:sc.id];
for(Vehicle__c oitem:Vcle)
{
oitem.Disc__c =sc.Discount__c;
}
update sc;
update Vcle;
Update Retest;
PageReference pg = new PageReference('/'+OwnrId);
pg.setRedirect(true);
return Null;
}
Try removing all references to sc - you don't need it.
Instead, use your existing offer variable when querying the vehicles and setting the discount.
If you want to redirect the user to another page, make your function return a PageReference.