P:6章の最初に言ってた、書籍一覧の表示内容を変えるんだよね!
O:あら、自分で気付いたから元気いっぱいね。じゃあ、どう変えるの?
P:うーんと、書籍名,著者,カテゴリ,発行年月日,レビューポイント。かな?
O:正解! すごいわフィリップ!
P:やった! 言ってみるもんだね!
O:え、当てずっぽう……?
- 表示するデータをまとめる為にAggregateを設定します。
01 InterfaceレイヤからBook内のPreparationを開き、Get Booksを開きます。
P:これがAggregate(アグリゲート)?
O:そうよ、「Get Books」という名前のAggregateよ。「Book」Entityからデータを引き出して、中に入ってるデータをコントロールできるわ。今までやってきた「Save」や「Delete」も
02 SourcesからAdd Sourceを選択します。
03 CATEGORY Entity, REVIEW Entityを追加します。
O:JoinsにWith or Withoutが設定されていることを確認してね。
- 表示するデータをグループ化してまとめます。
- グループ化するデータは書籍名,著者,カテゴリ,発行年月日,レビューポイント,Book Idになります。
04 Attributeにカーソルを合わせた際右上に表示されるアイコンからグループ化します。
05 次に示す6項目をグループ化します。
- 該当するAttributeがない場合は非表示になっているためAttribute間上部のShow – hiddenを選択して表示します。
O:グループ化が終わったら、ちゃんとできてるか確認してね。
P:グループ化ができたら、どうするの?
O:グループ化したデータを書籍一覧に表示するの。
06 InterfaceレイヤからBooksを開きます。
- 書籍名の設定をします。
07 Table Recordsで配置されている書籍名を以下のように設定します。
- Expression Value ⇒ ReviewTable.List.Current.BOOK_NAME_MAIN
- Link Title⇒ “Edit ‘” + GetBooks.List.Current.BOOK_NAME_MAIN + “‘”
※コピー&ペーストした場合、「”」(ダブルコーテーション)が、正しく表示されない場合があります。貼り付けた時に、入力画面左下が緑色ではなく、赤色のエラーメーッセージが出た場合は、半角で「”」を入力し直してください。
O:Editの後ろには半角スペースと「’」(シングルコーテーション)があるわ! 一番後ろも「”」「’」「”」の順で真ん中に「’」があるから気を付けて!
- Link On click Book Id ⇒ GetBooks.List.Current.Id
08 Table Recordsで配置されている著者を以下のように設定します。
- Expression Value ⇒ ReviewTable.List.Current.AUTHOR
O:次は不必要な項目の削除,必要な項目の追加をするわ。
09 Book Name Sub,Priceを選択しツールバーから削除します。
10 Dataレイヤからカテゴリ,発行年月日,レビューを追加します。
P:次は追加した項目の設定をするんだね!
11 以下の設定をします。
- カテゴリ
Expression Value ⇒ReviewTable.List.Current.CATEGORY_NAME
- 発行年月日
Expression Value ⇒GetBooks.List.Current.ISSUE_DAY
- レビュー
Expression Value ⇒GetBooks.List.Current.REVIEW_POINTAvg
P:これで書籍一覧の項目が設定されたね!
O:そうよ。今回みたいなポイントの平均化はグループ化しないとできないから気を付けてね。
P:そういえば、なんでAttributeとかEntityを増やさなかったの? そしたら、もっと簡単にできたんじゃないのかな?
O:いいところに気付いたわね、フィリップ。今回はデータモデルに沿って作ってるから、こういう形にしたの。練習として一人で作る分には勝手に追加してもいいんだけど、OSPは複数人のチームで作ることを視野に入れてるの。だから、急にAttributeやEntityを増やしたり変更したりすると、作り方によってはエラーが出て、先に進めなくなる人もいるわ。
P:それじゃ、一緒に作ってる人たちが困っちゃうね。
O:そう、だからデータモデルを遵守するのはとても重要なことなの。
さ、次はいよいよ最後よ!
<<前ページ:6-1.登録確認機能追加 | 次のページ:6-3. 「レビュー一覧」削除 >>