在SharePoint 2010中包括:
- 可以从相同网站集中的不同的站点里获取数据
- 可以直接使用列表视图来过滤返回的查阅项数据
- 可以直接编写 CAML查询语句来过滤返回的查阅项数据
- 可忽略文件夹,显示所有数据,同时还可以通过CAML查询或列表视图进行过滤
- 支持多选
撰写本文时,Fitered Lookup的代码版本为60481 。简单起见,我们直接下载代码,用Visual Studio 2010打开,并Ctrl+F5部署(部署前需要根据自己的SharePoint 环境修改项目属性SiteUrl)。完成后我们就可以直接从SharePoint界面中添加该字段:
下面是要查阅的列表数据。该列表我们将其创建在顶级网站上。而我们的字段所属列表创建在子网站上。以此来验证跨网站的功能。
可以看到在栏设置中有选择站点的地方。我们选中顶级网站,下面的列表会自动刷新,选中上面的列表,并指定要选择的栏。这里我们还添加了一个简单的CAML查询,获取标题中包含“生物”一词的所有类别。点击确定保存栏设置。
在列表项创建页面中,我们新添加的栏显示效果如下:
如果在栏设置中勾选了“允许多个值”。则显示效果如下:
填写好后,点保存。在列表项查看页面中,该字段值显示如下:
栏设置中还可以使用列表视图对数据进行筛选。比如,我们选中源列表中的一个视图“农业科学”,返回所有农业科学的分类。
栏在新建页面的显示如下:
用起来还是很顺手的。
当然,使用中也发现一些问题。比如如果源列表是外部列表的话,会出错。毕竟是第一版,将来的版本应该会更加完善。
参考资料
SharePoint 2010 Filtered Lookup Field
http://sp2010filteredlookup.codeplex.com/
群:212099235