You need to sign in to do that
Don't have an account?
Saurav nirwal 21
Report Show
Create a VF Report Page where user can see the Sum of the Opportunity Amount which is related to each Account. (List any 10 Accounts)
function readOnly(count){ }
You need to sign in to do that
Don't have an account?
<apex:page controller="OpportunitiesPaginationController" tabStyle="Opportunity">
<apex:form >
<apex:actionFunction name="refreshPageSize" action="{!refreshPageSize}" status="fetchStatus" reRender="pbId"/>
<apex:pageBlock id="pbId">
<apex:pageBlockSection title="All Opportunities" collapsible="false" columns="1">
<apex:pageBlockTable value="{!Opportunities}" var="oppObj">
<apex:column headerValue="Opportunity Name">
<apex:outputField value="{!oppObj.Name}"/>
</apex:column>
<apex:column headerValue="Account Name">
<apex:outputField value="{!oppObj.Account.name}"/>
</apex:column>
<apex:column headerValue="Amount">
<apex:outputField value="{!oppObj.Amount}"/>
</apex:column>
<apex:column headerValue="Stage">
<apex:outputField value="{!oppObj.StageName}"/>
</apex:column>
<apex:column headerValue="Last Activity Date">
<apex:outputField value="{!oppObj.LastModifiedDate}"/>
</apex:column>
<apex:column headerValue="Close Date">
<apex:outputField value="{!oppObj.CloseDate}"/>
</apex:column>
</apex:pageBlockTable>
<apex:panelGrid columns="8">
<apex:selectList value="{!size}" multiselect="false" size="1" onchange="refreshPageSize();">
<apex:selectOptions value="{!paginationSizeOptions}"/>
</apex:selectList>
<apex:commandButton status="fetchStatus" reRender="pbId" value="First" action="{!setCon.first}" disabled="{!!setCon.hasPrevious}" title="First Page"/>
<apex:commandButton status="fetchStatus" reRender="pbId" value="Previous" action="{!setCon.previous}" disabled="{!!setCon.hasPrevious}" title="Previous Page"/>
<apex:commandButton status="fetchStatus" reRender="pbId" value="Next" action="{!setCon.next}" disabled="{!!setCon.hasNext}" title="Next Page"/>
<apex:commandButton status="fetchStatus" reRender="pbId" value="Last" action="{!setCon.last}" disabled="{!!setCon.hasNext}" title="Last Page"/>
<apex:outputText >{!(setCon.pageNumber * size)+1-size}-{!IF((setCon.pageNumber * size)>noOfRecords, noOfRecords,
(setCon.pageNumber * size))} of {!noOfRecords}
</apex:outputText>
<apex:outputPanel >
<apex:actionStatus id="fetchStatus" >
<apex:facet name="start" >
<img src="/img/loading.gif" />
</apex:facet>
</apex:actionStatus>
</apex:outputPanel>
</apex:panelGrid>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
================================================
apex class
---------------------
public class OpportunitiesPaginationController{
Public Integer size{get;set;}
Public Integer noOfRecords{get; set;}
public List<SelectOption> paginationSizeOptions{get;set;}
public OpportunitiesPaginationController(){
size=10;
paginationSizeOptions = new List<SelectOption>();
paginationSizeOptions.add(new SelectOption('5','5'));
paginationSizeOptions.add(new SelectOption('10','10'));
paginationSizeOptions.add(new SelectOption('20','20'));
paginationSizeOptions.add(new SelectOption('50','50'));
paginationSizeOptions.add(new SelectOption('100','100'));
}
public ApexPages.StandardSetController setCon {
get {
if(setCon == null) {
setCon = new ApexPages.StandardSetController(Database.getQueryLocator(
[select id,Name,AccountId,Account.name,Amount,StageName,CloseDate,LastModifiedDate from Opportunity]));
setCon.setPageSize(size);
noOfRecords = setCon.getResultSize();
}
return setCon;
}
set;
}
//Changes the size of pagination
public PageReference refreshPageSize() {
setCon.setPageSize(size);
return null;
}
// Initialize setCon and return a list of record
public List<Opportunity> getOpportunities() {
return (List<Opportunity>) setCon.getRecords();
}
}
let me know this code is helpful or not.
Thank you.