利用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列表節點,不要選擇具體的字段名稱;然后再設置“值”和”顯示名稱“中設置對應的字段,如下圖:
轉載于:https://www.cnblogs.com/danzhang/p/4343412.html
總結
以上是生活随笔為你收集整理的利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XML文件的生成与读取
- 下一篇: 关于使用REST API