当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2012年5月21日月曜日

カテゴリ名によるフィルタリングを設定するには?

こんばんは。XPagesDay復習の第2弾です。復習は、お勉強した後、一週間以内にやらないとほとんど効果がないらしいです。
ということで、週末まで持ち越すわけにはいきませんから、とっととやってしまいましょう。

昨日の記事では、多くの方がこのボタンをクリックしてくださいました。ありがとうございます。
でも!まだ、まだ少ないんです!もっと筆者に愛の手を!いや!愛のクリックを!
にほんブログ村 IT技術ブログへ



さて、今日はビューコントロールの「カテゴリ名によるフィルタリング」です。
セッションの中では、「従来のノーツアプリケーションで言えば、埋め込みビューの単一カテゴリのようなものですよ」と言ったら、皆さん、「あぁ、なるほどね」と頷いていらっしゃいましたので、説明するほどのものではないかもしれませんが、これから始める方もいるかもしれないので、記録として残しておきます。

まず、「用語集 for XPages」のどこでカテゴリ名によるフィルタリングが利用されているのかを確認しましょう。
用語集 for XPagesの画面

図の中で、赤く囲んだ部分が、この機能を利用しているところです。
「ア行」と書かれているところをクリックすると、ア~オで始まる用語だけを表示します。
同様に「カ行」なら、カ~コで始まる用語を表示します。

では、このビューはどんな設計になっているのかを確認しましょう。
「五十音順」というビューが対応しています。
ビューの選択式

ビューの選択式です。Formが"GlossaryF"という文書だけを表示するようになっています。
このアプリケーションのフォームは"GlossaryF"だけなので、実質、全文書を表示するような形です。

次は、1列目の式です。
画面では表示していませんが、ここは「カテゴリ別」の列として設定しています。
そして、式の値ですが、「ア」~「ワ」で表示されるように集約する式を書いています。
"Capital"というフィールドの1文字目を取得して、ア~オなら"ア"、カ~コなら"カ"という用にしているのです。
1列目の式

これで、1列目は、A、1、ア、カ・・・ワのいずれかが表示されるようになりました。


今度は、ビューコントロールの設定を確認します。「ccbyAlphabeticView」というカスタムコントロールが「五十音順」ビューの内容を表示するコントロールです。
ccbyAlphabeticViewカスタムコントロール

ここで、「カテゴリ名によるフィルタリング」が"計算済み"になっているのが分かるでしょうか?
さて、どんな計算式が設定されているのかを確認しましょう。右側の◇をクリックして、「値の計算...」を選択します。
カテゴリ名によるフィルタリング

出ましたね。セッションスコープ変数。

ということで、セッションスコープ変数の内容に基づき、ビューをフィルタリングするという事が分かりました。



後は、ビューへのリンクをクリックしたときに、このセッションスコープ変数に適切な値を設定してあげればよいという事になります。

では、実際に、どのように設定しているのかを確認します。
「ccOutline」というカスタムコントロールがビューリンクを設定してあるカスタムコントロールです。
ccOutlineカスタムコントロール

リンクを選択したら、イベントビューを開きます。
onClickイベントにイベントが設定してあるので、イベントの内容を確認します。
イベントの式

確かに、セッションスコープ変数の内容が変更されています。

また、このリンクをクリックしたときの、更新対象はビューコントロールの部分としておきます。
これで、このリンクをクリックしたときに、ビューのカテゴリが変更されて、該当するカテゴリの文書だけが表示されるようになります。


どうでしょうか?「カテゴリ名によるフィルタリング」の実装の仕方が分かっていただけたでしょうか?



・・・って、ここまで書いておいて、前回のブログでは「セッションスコープ変数」をどう使っているか書きますってなってますね。
んー・・・、一応、セッションスコープ変数を使っているので、許してください(汗。


このXPagesアプリケーションは、セッションスコープ変数の説明をしたかったので、色々な箇所で使っているのですよ。なので1回では説明しきれないんです。
・・・言い訳になってないな。ごめんなさい。


では、次回!(あ、逃げた!)




【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: