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);
List<account> accList = [SELECT Name FROM Account LIMIT 20];
ApexPages.StandardSetController apss = new ApexPages.StandardSetController(accList);
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]));
ApexPages.StandardSetController ssc =
new ApexPages.StandardSetController(Database.getQueryLocator([SELECT Name,CloseDate FROM Opportunity]));
ApexPages.StandardSetController ssc = new ApexPages.StandardSetController(Database.getQueryLocator([SELECT Name,CloseDate FROM Opportunity]));
注意事項
StandardSetController のレコード数の上限は 10,000 件です。10,000 件を超えるレコードを返すクエリロケータを使用して StandardSetController をインスタンス化すると、
LimitException が発生します。ただし、10,000 件を超えるレコードのリストを使用して StandardSetController をインスタンス化すると、例外が発生する代わりに、
レコードが上限まで切り捨てられます。
StandardSetController のレコード数の上限は 10,000 件です。10,000 件を超えるレコードを返すクエリロケータを使用して StandardSetController をインスタンス化すると、
LimitException が発生します。ただし、10,000 件を超えるレコードのリストを使用して StandardSetController をインスタンス化すると、例外が発生する代わりに、
レコードが上限まで切り捨てられます。
StandardSetController のレコード数の上限は 10,000 件です。10,000 件を超えるレコードを返すクエリロケータを使用して StandardSetController をインスタンス化すると、 LimitException が発生します。ただし、10,000 件を超えるレコードのリストを使用して StandardSetController をインスタンス化すると、例外が発生する代わりに、 レコードが上限まで切り捨てられます。