【Salesforce】標準セットコントローラのgetRecordsについて
Salesforceのリストビューから遷移するVisualforceの画面を作成する際に、StandardSetControllerをコンストラクタに使用するクラスをコントローラに作成することが多いですね。
このコンストラクタへ引数で渡ってくるStandardSetControllerのgetRecordsメソッドを使用すると、レコードのリストが返ってきます。
レコードのリストの内容は、Visualforce画面へ遷移する前のリストビューのレコード一覧と同じだということをメモしておきます。
標準セットコントローラからレコードのリストを取得するクラスです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public with sharing class AccountListController { private List<Account> accountList; /** * コンストラクタ */ public AccountListController(ApexPages.StandardSetController controller){ // レコードを取得する accountList = controller.getRecords(); } /** * 取引先のリストを取得する * @return 取引先のリスト */ public List<Account> getAccountList(){ return this.accountList; } } |
こちらは取得したレコードを表示する画面です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<apex:page id="Page" standardController="Account" extensions="AccountListController" recordSetVar="accounts"> <apex:form id="Form"> <apex:pageblock title="コントローラのAccountList"> <apex:pageBlockTable value="{!AccountList}" var="account" > <apex:column value="{!account.Name}" /> </apex:pageBlockTable> </apex:pageblock> <apex:pageblock title="VisualForcePageのrecordSetVar"> <apex:pageBlockTable value="{!accounts}" var="account" > <apex:column value="{!account.Name}" /> </apex:pageBlockTable> </apex:pageblock> </apex:form> </apex:page> |
No comments.