最近在利用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)的更多相关文章

  1. 利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 1

    这是一篇对之前 <利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 2>的补充.本篇博客将 ...

  2. SharePoint Server 2013开发之旅(一):新的开发平台和典型开发场景介绍

    我终于开始写这个系列文章,实际上确实有一段时间没有动笔了.最近重新安装了一套SharePoint Server 2013的环境,计划利用工作之余的时间为大家写一点新的东西. SharePoint Se ...

  3. 在 SharePoint Server 2013 中配置建议和使用率事件类型

    http://technet.microsoft.com/zh-cn/library/jj715889.aspx 适用于: SharePoint Server 2013 利用使用事件,您可以跟踪用户与 ...

  4. Team Foundation Server 2015(Update 1)集成 SharePoint Server 2013

    自TFS 2008开始,TFS就提供了与SharePoint Server的集成功能,通过多年的研发和提升,目前微软已经实现了两个服务器产品之间的完美集成.通过二者之间的集成,TFS服务器大幅提高和扩 ...

  5. 在IE11下设置SharePoint Server 2013却遇到“需要 Internet Explorer 才能使用此功能。”的解决办法

    就在昨天顺利升级到Windows 8.1 随之IE也升级到了IE11,但是当打开IE11设置SharePoint Server 2013的时候遇到了一些小情况: Figure 1使用Windows 8 ...

  6. SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发

    上一篇我已经介绍了新版本的SharePoint Server提供了四种主要的开发场景,其中一个全新的App开发模型让我们眼前一亮.这一篇我将介绍如何在线进行SharePoint App开发. 谈到Sh ...

  7. 系统升级日记(2)- 升级到SharePoint Server 2013

    最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...

  8. 开启SharePoint Server 2013 中的“微博”功能——新闻源

    熟悉SharePoint的朋友在2013之前的版本可以使用社区协作下的记事板.应用程序下的通知,来进行消息的发布,而且更有这两者的完美结合体讨论板,可供使用着根据站点属性进行添加而对现在的快消息时代, ...

  9. SharePoint Server 2013 让上传文件更精彩

    新版的SharePoint 2013 提供了多种上传与新建文件的方式,对于与系统集成紧密的IE来上传文档更加方便 使用IE开启SharePoint地址 Figure 1打开文档库,在"新颖快 ...

随机推荐

  1. linux centos 6.1 安装 redis

    1, yum install redis 检测是否有redis 2,没有的话就运行:yum install epel-release 3,再执行 yum install redis

  2. 好记性不如烂笔头-linux学习笔记6keepalived实现主备操作

    Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工 ...

  3. JAVA_03

    在Java中,理解JDK.JRE.JVM三者的区别是十分重要的; JDK JDK是Java Development Kit(Java开发工具包)的缩写,包含JRE和其他开发工具. JRE JRE是Ja ...

  4. IIS上架设https网站证书处理备忘

    1. 免费SSL证书申请 https://www.startssl.com 教程:http://hxs.fd.fj.cn/?action=show&id=13 2. 证书转换 申请到的证书有两 ...

  5. istview android:cacheColorHint,android:listSelector属性作用(转)

    原文ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉, 原因是,滚动时,列表里面的view重绘时,用 ...

  6. 03-SSH综合案例:商城表关系分析

    1.2   设计页面: 静态页面: 1.3    数据库分析与设计: 一般是一个Java类就对应一个表,有哪些类?那看你有哪些实体啊?一般一个模块对应一个实体 有用户模块就会有用户的一个实体,就会有用 ...

  7. 23.Merge k Sorted Lists (Array, Queue; Sort)

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 思 ...

  8. Django基础学习五_引入静态文件

    今天继续学习Django,今天主要掌握两个小点 一.如果为Django项目中引入静态文件 1.先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以了 2.在pr ...

  9. <<高级计算机网络>>(Advaned Computer Networks) 徐恪 徐明伟 陈文龙 马东超

    目录 第1章 计算机网络与Internet1 1.1 引言1 1.2 Internet发展历史2 1.2.1 互联网发展的主要阶段4 1.2.2 互联网在中国的发展5 1.2.3 互联网主要创新5 1 ...

  10. [Training Video - 4] [Groovy] String Functions

    def x="I like to read books before bed" def temp = x.split(" ") log.info "S ...