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

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

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

clip_image002

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

clip_image004

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

clip_image006

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

clip_image008

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

clip_image010

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

clip_image012

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

clip_image013

再然后,就是配置筛选了。在数据视图里找到<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上传值,试试我们的模糊查询,好使不好使。

如下图:

clip_image016

当然,如果我们要查询的是汉字的话,那么,我们需要对汉字进行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>

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

clip_image018

总结:我不否认,sharepoint随着版本提升,VS开发的功能越来越强劲,当然,我们不要忘了最简单的工具spd,几分钟就可以搞定,不必去写webpart,挺好的方式,记下来,给大家参考,写了一个多小时的博客,居然越写越精神,吃个卤蛋睡觉去了。^_^大家晚安。

posted @ 2013-01-08 23:31 霖雨 阅读(...) 评论(...) 编辑 收藏