一个朋友问我这样一个问题, 他想要快速从SharePoint的文档库中filter出来名字中先带有一个Q, 接着一些其他的字符, 后面再跟着有一个数字20这样的文件.
第一个想法就是修改SharePoint的ListView. 经过research, 确定ListView的filter中不能使用通配符(wildcard), 即诸如*, %之类.
第二个想法就是添加一个content editor webpart, 然后写脚本. 脚本最终要使用到CAML query来发送请求到SharePoint服务器来获得数据. 然而, CAML是不支持wildcard的. 这里Content Query WebPart也就一样不行了, 因为最终也还是要用到CAML Query.
如何使用Content Query Web Part中的CAML, 可以参考下文.
CAML不能用通配符的证明在下文中.
第三个想法就是建立一个Search Scope, 范围就在这个文档库上, 然后看搜索是不是可以使用通配符. 经过研究, Search支持通配符, 但是不能支持"名字里先有什么,接着再有什么"这样如此复杂的模式匹配.
最后, 我只好使用一个workaround了.
1. Export to Excel.
2. 点击column header->Text Filters –> Custom Filter…
3. 填写你的通配符模式.
4. 结果.
虽然借助了excel, 实现也不那么纯SharePoint, 但好在比较容易用的吧. -_-||
参考资料
===================
一般都有哪些通配符, 可以看这里.
Using wildcard characters to refine filters
http://technet.microsoft.com/en-us/library/cc483078.aspx
一个很牛的帮助写SharePoint的CAML的工具.
SharePoint CAML Query Helper for 2007, 2010, and 2013