slack

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

2010/01/04

XPages Tutorial Part 24 : Person Details XPage へのリンク

Linking to the Person document {Original Source}



Person 文書を表示するシンプルな XPage の基礎ができたので今回はどの文書を表示するかを決めるため文書の UNID を渡すリンクを作成したいと思います。

では「content_Location」カスタムコントロールを開いてください。
以前作成した表の中に繰り返しコントロールで行が繰り返されるようになっています。
ひとつのページへリンクさせる方法はいくつかありますが、今回はユーザーが行に表示されている情報のどこをクリックしても対象の文書へ飛んでいくようにします。
この電話帳アプリケーションでは表の中の計算結果フィールドをリンクとして指定したいと思います。

これからやろうとしていることは、表の行にある「onClick」イベントを追加することです。
ソースビューに切り替えて繰り返しコントロールに内部にある <xp:tr> タグを見つけてそれを選択してください。

次に下のようにプロパティボックスの「すべてのプロパティ」タブで、行に一つの ID を指定します。

ソースビューで確認するとコードが変更され、参照のための ID が追加されたのが分かります。


なぜこのようなことをするかというと、のちのち onClick イベントを通してクリックされたかどうかを検知したいからです。


イベントのセクションではその XPage でコントロールできるすべてのイベントが表示されています。今回 onclick イベントが対象になりますので、このイベントを選択してこのタブの右側を見てください。



ここでクライアント及びサーバーサイドで記述することができる JavaScript や今回使用するシンプルアクションを選択することができます。
今回はシンプルアクションを選択し、「アクションの追加」ボタンを押してください。

このダイアログでは違う XPage を開きたいので
分類を「基本」
アクションを「ページを開く」
引数として
開くページの名前を「Person」
ターゲット文書を「文書を開く」
まで設定してください。
開く対象となる文書を特定するために文書 ID を指定するのですが、ここは「値を計算する」からスクリプトエディタを出し以下のコードを入力します。

覚えている方もいらっしゃると思いますが、rowData は繰り返しコントロールの中の現在のエントリを参照するために使用してきた変数です。
rowData.getUniversalID(); 従って現在の文書の UNID を返します。ではここでこのカスタムコントロールを保存して、ブラウザで再読み込みしてください。
表の中の名前をクリックすると「Person」XPage ロードされ詳細が表示されるはずです。

URL バーには、シンプルアクションと文書 ID が表示されているはずです。



ここまでユーザーがクリックしたイベントを検知し、次のターゲットページを表示するための下準備ができました。
次回はイベントで検知しページを送信する間にどのような処理をするかを見ていきたいと思います。

0 件のコメント:

コメントを投稿