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

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

2012年8月20日月曜日

繰り返しコントロールを使ってみよう

こんにちは。8月ももう下旬です。早いですね。なぜか今年は8月があっという間に過ぎていっています。
まぁ、原因は分かっているのですが・・・え?何かって?内緒です。

ちなみに、「内緒」とは元々は、「内証」だったらしいですね。音が似ていることにより変化したのでしょう。
そう考えると、今風の言葉も、数十~数百年後には違和感なく使われることになるかもしれませんね。


閑話休題。

今週も乗り切るために、ボタンをクリックしてから、心して読むようにしましょう。
にほんブログ村 IT技術ブログへ



さて、今日はXPagesでのビューの表現方法について、別の方法を学びます。

方法は・・・「繰り返し」コントロールというものを使います。
いずれにしても、ノーツアプリケーションの場合に、フォームとビューは必要なので、まずはそれらを準備します。
と言っても、毎回毎回作るのは面倒なので、前回の記事で 作成したものをそのまま流用します。

XPage は、「adv」という名前で作成します。
まずは、XPage にデータソースを設定するので、プロパティビューの「データ」タブを開きます。
[追加]というボタンがあるので、そこをクリックします。すると、文書かビューの選択肢が表示されるので、「Domino ビュー」を選択します。
データソースにDomino ビューを追加

すると、画面の右側にDomino ビューの設定項目が表示されるので、ビューに「($All)」を設定します。
ビューの選択

次に、コントロールビューにある「コンテナコントロール」から「繰り返し」コントロールをドラッグ&ドロップします。
繰り返しコントロールの追加

プロパティビューを開いて、繰り返しコントロールの設定を行います。
「使用するバインドデータ」の項目で、「JavaScript」を選択して、値にview1と入力します。
また、オプションのコレクション名に「rowData」と入力します。この名称は任意のもので結構です。
繰り返しコントロールの設定

次に、列の値を表示するための表を設定します。
表コントロールを繰り返しコントロールの中にドラッグ&ドロップします。その際、 行数:1、列数:3とします。
表コントロールの追加

また、表の幅は100パーセントにしておいてください。

今度は、ビューの列の値をセットします。
計算結果フィールドコントロールを表の一番左のセルの中にドラッグ&ドロップします。
プロパティビューの値は、JavaScriptにして、次のように入力してください。
rowData.getColumnValue("$1")

$1というのは、ビュー列のプログラム名というところの名前です。違っている場合は、実際のビューの列のプログラム名にあわせてください。
なお、この列は、作成日を表示しています。
ビュー列のプログラム名

次に2列目を表示させます。ここは、Subjectなので、クリックしたときに文書が表示されるようにします。
そこで、リンクコントロールを表の真ん中のセルにドラッグ&ドロップします。

リンクの場合、表示するデータはラベルとして設定する必要があるので、計算式を設定します。
プロパティビューの「リンク」タブにある「ラベル」の右横にある◇をクリックして、値の計算...を選択します。
値は、
rowData.getColumnValue("Subject")

とします。
リンクのラベルの値を設定

さらに、オプションのURLに「$$OpenDominoDocument.xsp」と入力します。
これは、決まり文句なのでこのまま入力してください。
この時、上のリンクタイプは「URL」としておいてください。
リンクのオプション

ただし、このままでは、リンクをクリックしたときにどの文書を開けばよいのか?という指示がされていません。
「プロパティ」ビューの「すべてのプロパティ」タブを開きます。
その中に「データ」という大項目があります。さらに、その中に「parameters」という項目があるので、そこを選択します。
すると、[+][-]という記号が表示されるので、[+]を2回クリックします。

parameter [0]とoarameter [1]が出来るので、それぞれの項目に下記のように入力します。

parameter [0]
name action
value openDocument

parameter [1]
namedocumentId
value右側の◇をクリックして、「値の計算...」をクリックして、次の式を入力します。
rowData.getUniversalID()

これでリンクが設定できました。
リンクコントロールのすべてのプロパティ

最後に3列目を設定します。
計算結果フィールドコントロールを表の一番右のセルにドラッグ&ドロップします。

プロパティビューの値は、JavaScriptにして、次のように入力してください。
rowData.getColumnValue("$2")

ここで、この3列目は、前回添付ファイルをビューから直接ダウンロードできるようにと、HTMLを記述しています。
このまま表示すると、HTMLがテキストとして認識されてしまいます。
そこで、この計算結果フィールドコントロールのプロパティビューの「計算結果フィールド」タブを開きます。
オプションの「コンテンツの種類」という項目があるので、そこをHTMLに変更します。
計算結果フィールドコントロールのコンテンツタイプを変更

これで出来ました。
早速Webブラウザで確認してみましょう。
繰り返しコントロールのプリビュー

ビューの枠線やセル幅を調整していないため、とても見苦しい結果になっていますが、確かにビューの内容が表示されているのが分かるかと思います。

そのあたりは、皆さん各自で、色々と試してみてください。


というところで今日はこれまで。





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

0 件のコメント: