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 をインスタンス化すると、例外が発生する代わりに、 レコードが上限まで切り捨てられます。