在客户众多需求中包含一个“关键字查询列表”,客户希望用关键字模糊搜索列表中所有的文本字段。该需求其实很简单,不过翻遍默认的web part,只有“filter”和“search”相关的Web part和这个需求能挂上边。但是,‘filter’都是筛选器,无法做到关键字查询,只能精确匹配,search相关的都是与SharePoint搜索引擎相关的Web Part,杀鸡用不着牛刀!
我们的解决方法是:利用Data View Web Part的filter和parameter实现带参数的查询,使用Form Web Part给DataView WebPart提供关键字。
有以下一个列表:
用SharePoint Designer打开新创建的Web 部件页“View.aspx”页面,把以上列表拖入Web Part区域中即可插入一个Data View(数据视图):
编辑列,设置显示列为“标题”,“描述”,“来源”
选择上图“常用Data View任务”的“参数”,新建建一个“表单”参数“Keyword”:
选择上图“常用Data View任务”的“筛选”,添加需要查询的文本字段,使用“包含”实现模糊查询,“值”选择使用新建的“Keyword”参数,“与/或”则均选择“或”:
设置完成后,点“确定”,并保存页面。浏览View.aspx,在页面添加一个Form Web Part:
设置“表单Web部件”与Data View Web Part进行连接:
选择连接类型为“参数 获取位置”,点“配置”
选择Keyword,点击“完成”。结束配置,回到页面。输入“猪肉”关键字,搜索如下:
输入“新浪”关键字,搜索如下:
注:其实Form Web Part可以添加多个文本框,也可以添加下拉框,Data View的filter的可设置选项也比较多,也可以使用XSLT进行筛选,所以这种方法实现的模糊查询还是有一定潜力的。