利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)
最近在利用SharePoint Server 2013的列表组织和存储数据,发现SharePoint列表原始不支持级联选择的功能。
谷歌百度一通以后,发现了很多通过代码实现的方案,利用第三方的插件spservices的http://spservices.codeplex.com/releases/view/119578,或者自己编段代码的http://www.cnblogs.com/jianyus/p/3812758.html(JQuery+JavaScript),但觉得都不太理想。最后发现可以利用InfoPath设计列表,不用编写一行代码,就可以轻松实现字段之间的级联互动。下面介绍一下这个方案的具体操作:
1. 配置SharePoint Server的State Service(状态服务)
如果需要利用InfoPath来设计菜单,必须启用State Service,否则列表无法正确打开。
以SharePoint场管理员身份打开管理中心,并选择配置向导

Figure 1

Figure 1

Figure 3

Figure 4
2. 使用InfoPath配置级联选择
2.1 首先创建2个父子列表,用以保存级联选项的来源。
这里我以中国的省市为例,创建一个省市的父列表,再创建一个地区的字列表,如下图
Figure 5
2.2 再使用InfoPath创建/便捷一个示例的列表,需要引用上面的两个父子列表
在列表中添加两个下拉列表项,分别绑定省市/地区字段,具体操作如下

Figure 6 - 绑定省市字段

Figure 7 - 绑定地市字段

Figure 8 - 设置筛选

Figure 9 - 设置筛选条件时,一定要注意选择“主”里面的字段,否则没有级联效果的
设置完成以后,通过InfoPath的预览功能,就可以验证级联效果了,然后发布到SharePoint Server中。

Figure 10 - 预览效果
2.3 配置规则,优化级联选择
通过上面配置,基本实现了级联功能。但是在选择了子项(地市)以后,如果再切换省市,你会发现子项没有清空。所以还需要配置父字段(省市)的规则来优化级联功能,实现切换父字段的值时,自动清空子项的值。

Figure 11 - 为父字段设置规则

Figure 12 - 设置域值

Figure 13 - 设置地市字段的值为空
通过上述设置后,基本上实现了一个比较完美的级联选择功能。
http://www.cnblogs.com/danzhang 张洪君
2015-3-23补充:
1. 在InfoPath中创建下列框的时候,必须选择查找类型,不能选择“手动输入选项”,如下图:

2. 在设置字段属性时,必须选择SharePoint列表节点,不要选择具体的字段名称;然后再设置“值”和”显示名称“中设置对应的字段,如下图:

利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)的更多相关文章
- 利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 1
这是一篇对之前 <利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 2>的补充.本篇博客将 ...
- SharePoint Server 2013开发之旅(一):新的开发平台和典型开发场景介绍
我终于开始写这个系列文章,实际上确实有一段时间没有动笔了.最近重新安装了一套SharePoint Server 2013的环境,计划利用工作之余的时间为大家写一点新的东西. SharePoint Se ...
- 在 SharePoint Server 2013 中配置建议和使用率事件类型
http://technet.microsoft.com/zh-cn/library/jj715889.aspx 适用于: SharePoint Server 2013 利用使用事件,您可以跟踪用户与 ...
- Team Foundation Server 2015(Update 1)集成 SharePoint Server 2013
自TFS 2008开始,TFS就提供了与SharePoint Server的集成功能,通过多年的研发和提升,目前微软已经实现了两个服务器产品之间的完美集成.通过二者之间的集成,TFS服务器大幅提高和扩 ...
- 在IE11下设置SharePoint Server 2013却遇到“需要 Internet Explorer 才能使用此功能。”的解决办法
就在昨天顺利升级到Windows 8.1 随之IE也升级到了IE11,但是当打开IE11设置SharePoint Server 2013的时候遇到了一些小情况: Figure 1使用Windows 8 ...
- SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发
上一篇我已经介绍了新版本的SharePoint Server提供了四种主要的开发场景,其中一个全新的App开发模型让我们眼前一亮.这一篇我将介绍如何在线进行SharePoint App开发. 谈到Sh ...
- 系统升级日记(2)- 升级到SharePoint Server 2013
最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...
- 开启SharePoint Server 2013 中的“微博”功能——新闻源
熟悉SharePoint的朋友在2013之前的版本可以使用社区协作下的记事板.应用程序下的通知,来进行消息的发布,而且更有这两者的完美结合体讨论板,可供使用着根据站点属性进行添加而对现在的快消息时代, ...
- SharePoint Server 2013 让上传文件更精彩
新版的SharePoint 2013 提供了多种上传与新建文件的方式,对于与系统集成紧密的IE来上传文档更加方便 使用IE开启SharePoint地址 Figure 1打开文档库,在"新颖快 ...
随机推荐
- mysql用一个表更新另一个表的方法
Solution 1: 修改1列(navicate可行) update student s, city c set s.city_name = c.name where s.city_code = ...
- bootstrap的引入和使用
Bootstrap的下载 一. 使用Bootstrap第一步,先将生成环境的Bootstrap下载下来.然后将下载,然后引入到自己建好的当前目录中 二.点到起步中的基本模板 将看到的整段代码复制粘贴到 ...
- 常见的linux服务器构建
Linux常用服务器构建-ftp服务器 ftp服务器 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”. 用于Internet上的控制文件的双 ...
- Spring cloud 两种服务调用方式(Rest + Ribbon) 和 Fegin方式
1:Rest + Ribbon @Bean @LoadBalanced RestTemplate restTemplate() { return new RestTemplate(); } @Auto ...
- TabIndex 属性 Tabindex="-1" 与Tabindex="0"、任意数字 (收录)
TabIndex 属性 Tabindex="-1" 与Tabindex="0".任意数字 html中的tabIndex属性可以设置键盘中的TAB键在控件中的移动 ...
- 通过nginx + lua来统计nginx上的监控网络请求和性能
介绍 以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力. 项目主页: https://github.com/sky ...
- UVALive-7297-Hounded by Indecision
OK, maybe stealing the Duchess’s favorite ruby necklace was not such a good idea. You were makingyou ...
- 使用.sig签名验证文件
Linux下载文件的时候,由于网络等原因,下载的文件可能不完整,对于别有心机的人可以更改文件,这就需要我们对文件的完整性进行验证.这里以securityonion-14.04.5.2.iso为例进行验 ...
- S EAI 客户主数据导入_test(detail)
一. 客户主数据模板导出 客户主数据和新联系人导入 Account_Config.ini文件 [Public] ConnectString=host="siebel://10.10.1.15 ...
- 九项重要的职业规划提示(转自W3School )
1. 学习的步伐不停止 古人说,活到老,学到老.终身学习应该是您的座右铭. 世界在不断变化,每个人都在寻找各自的事业途径. 您只有保证了足够的技能储备,才能确保能够得到一份足够满意的工作. 为了保证您 ...