【Trailhead】標準リストコントローラの使用

スポンサーリンク
標準リストコントローラの使用 Salesforce

こんにちは。にいるです。

このモジュールも終盤に差し掛かってきましたね。
標準コントローラや数式、グローバル変数、レコードの表示や入力フォームの作成を取り扱ってきました。
できることもだんだんと増えていますが、ここからより開発を意識した構造になってくるので、頑張りましょう。

少し余談ですが、早見表(チートシート)をまとめたエントリーも作成しました。
本筋のモジュールはここで進めつつ、予備知識として学習しておくといいと思います。
※早見表(チートシート)の記事はこちらからご覧いただけます。
※Trailheadはここからご覧ください。

1.標準リストコントローラとは

標準コントローラではIDを指定することで1つのレコードに対して、新規作成や編集が可能でした。
ですが、この場合どうしても1つのレコードに対しての操作となるので、複数レコードに対しては不可能でした。

そこで使用したいのが標準リストコントローラです。
通常、複数のレコードを使用する場合forを使用しますが、Visualforceには反復コンポーネントであるapex:pageBlockTableがあるので、これを使用すればループさせることが可能です。

コーディングの観点から言うと、Standardcontrollerと違う点が2点あります。
1つはStandardcontrollerの属性にrecordSetVarを使用することと、もう1つはpageblocktableにrecordSetVarの値をバインドすることです。
では実際にチャレンジをしながら見ていきましょう。

2.標準リストコントローラの使用

早速、今回のチャレンジ内容を訳します。

標準リストコントローラの使用

まずStandardcontrollerにはAccountを指定しrecordsetvarも使用してね。
次にコンポーネントはrepeatを使用して、varにはaの値でliのリストタグも使用してね。
そして、outputlinkを使用してそれぞれの詳細ページへのリンクも貼ってね。
※各ページへのリンク記載はidを使うことがヒントだよ。
最後にAccountListという名前のページを作ってね。

ちゃちゃちゃっと書きました。

標準リストコントローラの使用

その結果がこちらです。

今回のキーポイントはrepeatとrecordSetVarですね。
recordSetVarにAccountの複数形である「accounts」を指定しています。
この書き方は定型文として決まっているので、覚えてください。笑
それをrepeatで繰り返し表示しているだけの簡単な構文です!
なので、recordSetVarの属性が指定されていれば、リストで表示していると考えましょう。

もう1つ、今回のチャレンジで覚えておきたい考え方があります。
それはoutputlinkによる各レコードの詳細ページのURL取得方法です。
valueにIDを参照する数式を入力しますが、数式の前に/を記載することでsalesforceのホームパス+レコードIDを指定できます。
これにより各レコードの詳細ページを取得してリンクとして掲載することができます。
この構文は覚えておくと便利なので、必ず覚えておきましょう。

チャレンジも問題なく通過しました。

標準リストコントローラの使用

今回のTrailheadのチャレンジには関係ありませんでしたが、ページネーションやリストビュー検索についての内容がTrailhead内にあります。
余裕のある方は、自分でもコンポーネントを使用して組んで見てくださいね。

※同モジュール内のTrailheadに関する記事はこちらからご覧頂けます。

ではでは!

コメント

タイトルとURLをコピーしました