Apexクラスでこんな感じで書いてあげると、
public ApexPages.StandardSetController ssc { get; set; } /** * コンストラクタ */ public クラス名(ApexPages.StandardController controller) { ssc = new ApexPages.StandardSetController (Database.getQueryLocator([SELECT Id, Name FROM Account ORDER BY Name])); ssc.setPageSize(20); } /** * 最初へ */ public void first() { ssc.first(); } /** * 最後へ */ public void last() { ssc.last(); } /** * 次へ */ public void next() { ssc.next(); } /** * 前へ */ public void previous() { ssc.previous(); }
Visualforceでページネーションが利用できるようです。
<apex:commandLink action="{!first}" rendered="{!ssc.HasPrevious}" value="最初へ" /> <apex:commandLink action="{!previous}" rendered="{!ssc.HasPrevious}" value="前へ" /> <apex:commandLink action="{!next}" rendered="{!ssc.HasNext}" value="次へ" /> <apex:commandLink action="{!last}" rendered="{!ssc.HasNext}" value="最後へ" />
そんでもって、ページ番号とかはこんな感じ。
{!ssc.PageNumber} / {!CEILING(ssc.ResultSize / ssc.PageSize)} ページです。