How can I create "next button" in a case to show me next case? Depending on whether the state field is equal to one will be displayed or hidden the button.
Situation - I have one custom object with name Offer (Offer__C) and I create two custom field (Import__c, Status__c) The propouse of this code is create page navigation between records depending of status.
STEPS Step 1 - I create one VisualForce Class "OfferClass.apxc" Step 2 - I declare variables
public with sharing class OfferClass { Public Integer size{get;set;} private Offer__c currentRecord; public String idOffer {get; set;} private ApexPages.StandardController stdController;
public OfferClass(ApexPages.StandardController controller) { stdController = controller; idOffer = ApexPages.currentPage().getParameters().get('id'); } //continue here }
Step 3 - I create a public boolean for check if exist next or previuos record and for check if we are viewing the first o last record.
public boolean getCheckNext() { Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1]; List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved']; if (OfferNext.size() > 0 && RTActual.Status__c == 'Approved'){ return true; } return false; }
public boolean getCheckPrevious() { Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1]; List<Offer__c> OfferPrevious = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved']; if (OfferPrevious.size() > 0 && RTActual.Status__c == 'Approved'){ return true; } return false; }
public boolean getCheckLast() { Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1]; List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved']; if (OfferNext.size() == 0 && RTActual.Status__c == 'Approved'){ return true; } return false; }
Step 4 - I create "public pagereference" for view the next, previous or the first record.
public PageReference doNext(){ Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
public PageReference doPrevious(){ Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
May I request you to please check the below link to Hide or Display a "custom button" on Standardpages provided by salesforce based on some field value.
Situation - I have one custom object with name Offer (Offer__C) and I create two custom field (Import__c, Status__c) The propouse of this code is create page navigation between records depending of status.
STEPS Step 1 - I create one VisualForce Class "OfferClass.apxc" Step 2 - I declare variables
public with sharing class OfferClass { Public Integer size{get;set;} private Offer__c currentRecord; public String idOffer {get; set;} private ApexPages.StandardController stdController;
public OfferClass(ApexPages.StandardController controller) { stdController = controller; idOffer = ApexPages.currentPage().getParameters().get('id'); } //continue here }
Step 3 - I create a public boolean for check if exist next or previuos record and for check if we are viewing the first o last record.
public boolean getCheckNext() { Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1]; List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved']; if (OfferNext.size() > 0 && RTActual.Status__c == 'Approved'){ return true; } return false; }
public boolean getCheckPrevious() { Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1]; List<Offer__c> OfferPrevious = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved']; if (OfferPrevious.size() > 0 && RTActual.Status__c == 'Approved'){ return true; } return false; }
public boolean getCheckLast() { Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1]; List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved']; if (OfferNext.size() == 0 && RTActual.Status__c == 'Approved'){ return true; } return false; }
Step 4 - I create "public pagereference" for view the next, previous or the first record.
public PageReference doNext(){ Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
public PageReference doPrevious(){ Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
Situation - I have one custom object with name Offer (Offer__C) and I create two custom field (Import__c, Status__c) The propouse of this code is create page navigation between records depending of status.
STEPS
Step 1 - I create one VisualForce Class "OfferClass.apxc"
Step 2 - I declare variables
Public Integer size{get;set;}
private Offer__c currentRecord;
public String idOffer {get; set;}
private ApexPages.StandardController stdController;
public OfferClass(ApexPages.StandardController controller) {
stdController = controller;
idOffer = ApexPages.currentPage().getParameters().get('id');
}
//continue here
}
Step 3 - I create a public boolean for check if exist next or previuos record and for check if we are viewing the first o last record.
public boolean getCheckNext() {
Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1];
List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved'];
if (OfferNext.size() > 0 && RTActual.Status__c == 'Approved'){
return true;
}
return false;
}
public boolean getCheckPrevious() {
Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1];
List<Offer__c> OfferPrevious = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved'];
if (OfferPrevious.size() > 0 && RTActual.Status__c == 'Approved'){
return true;
}
return false;
}
public boolean getCheckLast() {
Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1];
List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved'];
if (OfferNext.size() == 0 && RTActual.Status__c == 'Approved'){
return true;
}
return false;
}
Step 4 - I create "public pagereference" for view the next, previous or the first record.
Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
PageReference pageRef = new PageReference('/apex/OfferPage?id=' + OfferNext.Id);
pageRef.setRedirect(true);
return pageRef;
}
public PageReference doPrevious(){
Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
PageReference pageRef = new PageReference('/apex/OfferPage?id=' + OfferNext.Id);
pageRef.setRedirect(true);
return pageRef;
}
public PageReference doFirst(){
Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
PageReference pageRef = new PageReference('/apex/OfferPage?id=' + OfferNext.Id);
pageRef.setRedirect(true);
return pageRef;
}
<apex:form >
<apex:pageBlock id="pb">
<apex:panelGrid columns="7">
<apex:commandButton value="First" action="{!doFirst}" rendered="{!CheckLast}"/>
<apex:commandButton value="Next" action="{!doNext}" rendered="{!CheckNext}"/>
<apex:commandButton value="Previous" action="{!doPrevious}" rendered="{!CheckPrevious}"/>
</apex:panelGrid>
</apex:pageBlock>
</apex:form>
<apex:outputPanel id="DetailOffer">
<apex:detail subject="{!$CurrentPage.parameters.id}" relatedList="true" relatedListHover="false"/>
<chatter:feed entityId="{!$CurrentPage.parameters.id}"/>
</apex:outputPanel>
</apex:page>
RESULT
Regards!
All Answers
I hope it will be helpful.
Best Regards
RahulKumar
Situation - I have one custom object with name Offer (Offer__C) and I create two custom field (Import__c, Status__c) The propouse of this code is create page navigation between records depending of status.
STEPS
Step 1 - I create one VisualForce Class "OfferClass.apxc"
Step 2 - I declare variables
Public Integer size{get;set;}
private Offer__c currentRecord;
public String idOffer {get; set;}
private ApexPages.StandardController stdController;
public OfferClass(ApexPages.StandardController controller) {
stdController = controller;
idOffer = ApexPages.currentPage().getParameters().get('id');
}
//continue here
}
Step 3 - I create a public boolean for check if exist next or previuos record and for check if we are viewing the first o last record.
public boolean getCheckNext() {
Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1];
List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved'];
if (OfferNext.size() > 0 && RTActual.Status__c == 'Approved'){
return true;
}
return false;
}
public boolean getCheckPrevious() {
Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1];
List<Offer__c> OfferPrevious = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved'];
if (OfferPrevious.size() > 0 && RTActual.Status__c == 'Approved'){
return true;
}
return false;
}
public boolean getCheckLast() {
Offer__c RTActual = [SELECT Name, Status__c FROM Offer__c WHERE Id = :idOffer LIMIT 1];
List<Offer__c> OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved'];
if (OfferNext.size() == 0 && RTActual.Status__c == 'Approved'){
return true;
}
return false;
}
Step 4 - I create "public pagereference" for view the next, previous or the first record.
Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id > :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
PageReference pageRef = new PageReference('/apex/OfferPage?id=' + OfferNext.Id);
pageRef.setRedirect(true);
return pageRef;
}
public PageReference doPrevious(){
Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Id < :idOffer AND Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
PageReference pageRef = new PageReference('/apex/OfferPage?id=' + OfferNext.Id);
pageRef.setRedirect(true);
return pageRef;
}
public PageReference doFirst(){
Offer__c OfferNext = [SELECT Id FROM Offer__c WHERE Status__c = :'Approved' ORDER BY Id ASC LIMIT 1];
PageReference pageRef = new PageReference('/apex/OfferPage?id=' + OfferNext.Id);
pageRef.setRedirect(true);
return pageRef;
}
<apex:form >
<apex:pageBlock id="pb">
<apex:panelGrid columns="7">
<apex:commandButton value="First" action="{!doFirst}" rendered="{!CheckLast}"/>
<apex:commandButton value="Next" action="{!doNext}" rendered="{!CheckNext}"/>
<apex:commandButton value="Previous" action="{!doPrevious}" rendered="{!CheckPrevious}"/>
</apex:panelGrid>
</apex:pageBlock>
</apex:form>
<apex:outputPanel id="DetailOffer">
<apex:detail subject="{!$CurrentPage.parameters.id}" relatedList="true" relatedListHover="false"/>
<chatter:feed entityId="{!$CurrentPage.parameters.id}"/>
</apex:outputPanel>
</apex:page>
RESULT
Regards!
How you can do it Lightning Component?
Best Regards,
Shohrat