Apex StandardSetController クラスの使い方

環境
Salesforce

書式
List<account> 変数名 = [SELECT Name FROM Account LIMIT 20];
ApexPages.StandardSetController apss = new ApexPages.StandardSetController(変数名);

操作例
1. インスタンス作成
sObjects のリストを使用してインスタンスを作成する
サンプルコード

List<account> accList = [SELECT Name FROM Account LIMIT 20];
ApexPages.StandardSetController apss = new ApexPages.StandardSetController(accList);

2.インストタンスの状態を変える
//1セットに格納するレコード数を指定
apss.setPageSize(5);

//次のレコードセットに切替
apss.Next();

3.クエリロケータを使用してインスタンスを作成する

ApexPages.StandardSetController ssc =
new ApexPages.StandardSetController(Database.getQueryLocator([SELECT Name,CloseDate FROM Opportunity]));

注意事項

StandardSetController のレコード数の上限は 10,000 件です。10,000 件を超えるレコードを返すクエリロケータを使用して StandardSetController をインスタンス化すると、
LimitException が発生します。ただし、10,000 件を超えるレコードのリストを使用して StandardSetController をインスタンス化すると、例外が発生する代わりに、
レコードが上限まで切り捨てられます。

 

Apex

Posted by arkgame