問題
StandardSetControllerの機能とは何ですか。2つ選びなさい。
- 標準またはカスタムコントローラの機能を拡張します
- ページでレコードの一括更新を実行できます
- ページで大きなレコードセットのページネーションを実行できます
- 大規模なレコードセットを読み取るときに、項目レベルセキュリティを適用します
正解
- 標準またはカスタムコントローラの機能を拡張します
- ページでレコードの一括更新を実行できます
- ページで大きなレコードセットのページネーションを実行できます
- 大規模なレコードセットを読み取るときに、項目レベルセキュリティを適用します
解説
StandardSetControllerはSalesforceのApexにおける特別な種類のコントローラで、以下のような特定の機能を提供します。
- ページング関連:
- 説明:
- StandardSetControllerのページング関連のメソッドを使用すると、大量のレコードセットの中でナビゲーションを容易に行うことができます。これにより、ユーザーはレコードの特定の部分セットを閲覧し、次のページや前のページに簡単に移動することができます。これは特に、レコード数が多い場合に役立ちます。
- メソッド:
- first(): レコードの最初のページを返します。
- getHasNext(): 現在のページセットの後に、より多くのレコードがあるかどうかを示します。
- getHasPrevious(): 現在のページセットの前に、より多くのレコードがあるかどうかを示します。
- getPageNumber(): 現在のページセットのページ番号を返します。最初のページは 1 を返します。
- getPageSize(): 各ページセットに存在するレコード数を返します。
- last(): レコードの最後のページを返します。
- next(): レコードの次のページを返します。
- previous(): レコードの前のページを返します。
- setpageNumber(pageNumber): ページ番号を設定します。
- setPageSize(pageSize): 各ページセット内のレコード数を設定します。
- 説明:
- レコード操作および選択関連:
- 説明:
- このカテゴリのメソッドは、レコードの選択、取得、および更新に関連する操作をサポートします。ユーザーが特定のレコードを選択したり、選択したレコードに変更を加えたりする場合に使用します。これは一括更新や一括削除などの操作を効率的に実行するために便利です。
- メソッド:
- getRecord(): 選択したレコードへの変更を示す sObject を返します。
- getRecords(): 現在のページセットにある sObject のリストを返します。
- getResultSize(): セットに存在するレコード数を返します。
- getSelected(): 選択されている sObject のリストを返します。
- save(): 新しいレコードを挿入するか、変更された既存のレコードを更新します。
- setSelected(selectedRecords): 選択したレコードを設定します。
- 説明:
- フィルタおよびリストビュー関連:
- 説明:
- フィルタやリストビュー関連のメソッドを使用すると、ユーザーは特定の検索条件やリストビューを適用してレコードを表示できます。これにより、必要なデータセットを迅速に特定し、表示することができます。
- メソッド:
- getFilterId(): 現在のコンテキストでの検索条件の ID を返します。
- getListViewOptions(): 現在のユーザーが使用できるリストビューのリストを返します。
- setFilterID(filterId): コントローラの検索条件 ID を設定します。
- 説明:
- その他:
- 説明:
- その他のカテゴリには、ページング、レコードの操作、フィルタリングの具体的なカテゴリには当てはまらないが、StandardSetControllerの機能として重要なメソッドが含まれています。これらは、特定のタスクや応答を行う際に役立ちます。
- メソッド:
- cancel(): 元のページ (わかっている場合)、またはホームページの PageReference を返します。
- getCompleteResult(): セット内に存在するレコード数がレコード数の上限を超えているかどうかを示します。
- 説明:
それぞれの選択肢の理由について説明します。
□ 標準またはカスタムコントローラの機能を拡張します
これは不正解です。StandardSetController
は標準またはカスタムコントローラの機能を直接拡張するものではありません。これは、リストビューや関連リストのようなレコードのセットを扱うためのコントローラです。
□ ページでレコードの一括更新を実行できます
これは正解です。StandardSetController
を利用することで、Visualforceページ上で一括操作を行うことが可能になります。たとえば、ユーザーが一覧表示から複数のレコードを選択し、それらすべてに対して一括更新といった操作を実行することができます。
□ ページで大きなレコードセットのページネーションを実行できます
これは正解です。StandardSetController
には、ページネーションをサポートするためのメソッドやプロパティ(例: next()
, previous()
, getHasNext()
, getHasPrevious()
)が含まれています。これを利用することで、大量のレコードを持つセットに対するページネーションを実装することが容易になります。
□ 大規模なレコードセットを読み取るときに、項目レベルセキュリティを適用します
これは不正解です。項目レベルセキュリティは、Salesforceのセキュリティモデルに基づくものであり、StandardSetController
の主要な機能とは関係ありません。項目レベルセキュリティは、ユーザーが特定の項目を表示・編集できるかどうかを決定するものですが、これはStandardSetController
の機能範囲外です。
コメント