利用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场管理员身份打开管理中心,并选择配置向导

clip_image002

Figure 1

clip_image004

Figure 1

clip_image006

Figure 3

clip_image008

Figure 4

2. 使用InfoPath配置级联选择

2.1 首先创建2个父子列表,用以保存级联选项的来源。

这里我以中国的省市为例,创建一个省市的父列表,再创建一个地区的字列表,如下图

image 

Figure 5

2.2 再使用InfoPath创建/便捷一个示例的列表,需要引用上面的两个父子列表

在列表中添加两个下拉列表项,分别绑定省市/地区字段,具体操作如下

image

Figure 6 - 绑定省市字段

image

Figure 7 - 绑定地市字段

image

Figure 8 - 设置筛选

image

Figure 9 - 设置筛选条件时,一定要注意选择“主”里面的字段,否则没有级联效果的

设置完成以后,通过InfoPath的预览功能,就可以验证级联效果了,然后发布到SharePoint Server中。

image

Figure 10 - 预览效果

2.3 配置规则,优化级联选择

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

image

Figure 11 - 为父字段设置规则

image

Figure 12 - 设置域值

image

Figure 13 - 设置地市字段的值为空

 

通过上述设置后,基本上实现了一个比较完美的级联选择功能。

http://www.cnblogs.com/danzhang 张洪君

 

2015-3-23补充:

1. 在InfoPath中创建下列框的时候,必须选择查找类型,不能选择“手动输入选项”,如下图:

image

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

image

转载于:https://www.cnblogs.com/danzhang/p/4343412.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值