当前位置:
  1. 魔豆IT网
  2. 系统教程
  3. SharePoint
  4. 正文

SharePoint 2007 使用SPD定制单列表模糊查询

应用场景:项目中总会遇到一些列表,存着是用户、项目等数据,而我们需要查询有哪些项目,这时候,就需要用到模糊查询了,而这样的查询,基本不需要跨列表,所以,也没必要配置复杂的搜索,用Designer(简称spd)配置数据视图,就可以做到。

如下图,我们先建个测试列表,插入测试数据,比较乱,大家不要见笑啊。

SharePoint 2007 使用SPD定制单列表模糊查询

打开spd,打开网站,根据母版页新建一个页面(当然,你开心的话,也可以建一个页面布局,新建一个页面,只要能用spd,就OK),如下图:

SharePoint 2007 使用SPD定制单列表模糊查询

然后,插入数据视图(先选中要插入数据视图的位置,最好在spd设计模式下,然后插入就可以了,否则位置可能不太准),如下图

SharePoint 2007 使用SPD定制单列表模糊查询

显示我们要查询的列表数据,如下图

SharePoint 2007 使用SPD定制单列表模糊查询

然后,选择我们需要的字段(我这里用了标题、创建时间),插入多项目视图(其他选项也有应用场景,有兴趣可以试试)

SharePoint 2007 使用SPD定制单列表模糊查询

如下图,显示出来我们列表里的所有项目了(当然,样式很难看,你可以找美工寻求帮助,设计成你喜欢的样子),我们添加需要的参数,进行模糊查询使用

SharePoint 2007 使用SPD定制单列表模糊查询

新建参数,即可,名字随意,但最好见名知义

SharePoint 2007 使用SPD定制单列表模糊查询

再然后,就是配置筛选了。在数据视图里找到<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>,这句话,在里面修改为

<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[($Title = '' or contains(@Title,$Title)gt; 0)]"/>

[($Title = '' or contains(@Title,$Title)gt; 0)]意思是Title为空,或者Title字段里包含Title查询字符串,有点乱哈,@的是字段名,$的是查询字符串。

即可完成模糊查询,下面,我们在url上传值,试试我们的模糊查询,好使不好使。

如下图:

SharePoint 2007 使用SPD定制单列表模糊查询

当然,如果我们要查询的是汉字的话,那么,我们需要对汉字进行escape编码,js脚本就可以实现了。然后,写一个input标签,一个button标签,一个事件,就完成我们的单列表模糊查询了,下面看我简单的小例子吧,js写的不够精细,其实如果想要input回车也能查询,加个事件监视回车就可以咯,大家自己开动脑筋吧。

<div>

<script type="text/javascript">

function search()

{

var biaoti = document.getElementById("searchbox").value;

document.location = "/Pages/SingleListSearch.aspx?Title="+escape(biaoti);

}

</script>

<table style="width: 100%" cellpadding="0" cellspacing="0" class="style1">

<tr>

<td><input name="searchbox"></td>

</tr>

<tr>

<td><button onclick="search()">查询</button></td>

</tr>

</table>

</div>

如下图,实现结果,不是很炫,但很实用:

SharePoint 2007 使用SPD定制单列表模糊查询

总结:我不否认,sharepoint随着版本提升,VS开发的功能越来越强劲,当然,我们不要忘了最简单的工具spd,几分钟就可以搞定,不必去写webpart,挺好的方式,记下来,给大家参考。

相关阅读

《SharePoint 2007 使用SPD定制单列表模糊查询》由网友“对月斟”推荐。

转载请注明:http://www.modouwifi.com/jiaocheng/05201146152021.html