12. 如何在XPages中实现搜索视图

在客户端中搜索当前视图有好几种方式:全文检索、搜索视图和对排序列按首字词定位。在Web环境中,适用并且用户习惯的便是全文检索。那么如何在XPages中实现检索当前视图的功能呢?

首先,开启数据库的全文索引。然后在一个XPage中添加一个视图数据源,该数据源可以指定“Searchin view results”属性,即XML文档中的search属性。设定一个固定的要搜索的词当然没什么用处。我们便在视图控件上方先增加一个用于输入要搜索的词语的文本框txtSearch,再添加一个按钮btnSearch。接下来就要遇到在如何在分类视图中一次显示一个分类一文中同样的问题,也可以使用同样的技巧。下面是文本框和按钮的代码片段:

<xp:inputText id="txtSearch">
<xp:eventHandler event="onkeypress" submit="true" refreshMode="complete">
		<xp:this.script><![CDATA[if (thisEvent.keyCode==13) {
      return true;
}else{
      return false;
}]]></xp:this.script>
		<xp:this.action><![CDATA[#{javascript:var filter=getComponent("txtSearch").getValue();
viewScope.put("search", filter);}]]></xp:this.action>
	</xp:eventHandler></xp:inputText>
<xp:button id="btnSearch" value="Search">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
		<xp:this.action><![CDATA[#{javascript:var filter=getComponent("txtSearch").getValue();
viewScope.put("search", filter);}]]></xp:this.action>
	</xp:eventHandler>
</xp:button>

然后把作为数据源的Domino View(xp:dominoView)的search属性修改如下:

<xp:this.search><![CDATA[#{javascript:viewScope.get("search");}]]></xp:this.search>

对视图进行搜索的功能便完成了。为了方便用户操作,上面在txtSearch的代码中添加了客户端和服务器端的两段事件脚本,客户端脚本捕捉用户输入完词语后的回车键,服务器端脚本执行和用户点击搜索按钮同样的动作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值