利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)

2023-02-12,,,,

最近在利用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)的相关教程结束。

《利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List).doc》

下载本文的Word格式文档,以方便收藏与打印。