ビューの先頭列で検索するには

テキストボックスにキーワードを入れて、ビューの先頭列と一致するものを表示する、という画面の作り方を説明する。

基本的な考え方

検索のやりかたの基本は全文検索の結果を表示するにはと同じ。 ただし、データソースの絞込みの方法がちょっと異なる。

全文検索では、<xp:dominoView search="キーワード"> のようにしたが、ビューの第一列で検索するなら、<xp:dominoView keys="キーワード">のようにするだけ。 属性によって機能が変わるわけだ。

具体的なコード

全文検索の結果を表示するにはに記載されているコードのデータソースの検索属性名をちょっといじるだけでいい。

  <xp:this.data>
    <xp:dominoView var="管理部署別" viewName="管理部署別" keys="#{javascript:requestScope.locationfilter}" >
    </xp:dominoView>
  </xp:this.data>
  <xp:inputText id="inputText1" value="#{requestScope.locationfilter}"></xp:inputText>
  <xp:button id="button1" value="検索">
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
      <xp:this.action>
        <![CDATA[#{javascript:
          context.redirectToPage("mypage");
        }]]>
      </xp:this.action>
    </xp:eventHandler>
  </xp:button>
  この後ろも同じなので省略...
  

余談

以下のように書くと、ビューの選択式になるみたい。この例では検索キーワードを直接指定してるんだけど、これはちゃんと動く。 入力したキーワードで検索したいので、ここにrequestScope.locationfilterを入れたい。 でも、どうやるのかわからん。

感じからすると、<![CDATA[FIELD hostname = requestScope.locationfilter]]>なんだけど、これではうまくいかない。

  <xp:this.data>
    <xp:dominoView var="管理部署別" viewName="管理部署別"  >
      <xp:this.search>
        <![CDATA[FIELD hostname = "TABTONG_GES"]]>
      </xp:this.search>
    </xp:dominoView>
  </xp:this.data>