テキストボックスでタイプアヘッドを使う

「タイプアヘッド」というのは、テキストボックスで数文字を入力すると、その文字にマッチする候補を表示してくれる機能。 Googleの検索用キーワードを入れるところなどで使用されてる。

XPagesの場合、テキストボックスに「タイプアヘッドを有効化」にして、候補を設定してやるだけでいい。 候補はビューから@DbColumn()で持ってくるのが一番簡単だ。候補の中から入力文字にマッチするものを選ぶ処理は勝手にやってくれる。

ビューを用意

まずはタイプアヘッドの候補を作るビューを用意する。例えば、既存文書のキーワードの一覧を表示するビューをあらかじめ用意しておく。 そのビューの名前をここでは"keywords"とでもしよう。

タイプアヘッドの設定

後は、テキストボックスの「タイプアヘッド」プロパティで、以下のように設定すればいい。

タイプアヘッドの設定

候補の計算式は以下の通り。

  @DbColumn("", "keywords", 1)
  

ちゃんと書くと以下のようになると思うが、同じ意味となる。

  var keyword_list = @DbColumn("", "keywords", 1);
  returne keyword_list