無代碼實現下拉列表框級聯

表單設計中我們常會遇到需要級聯下拉列表項的情況(即下一級的下拉列表選項需要隨上一級已選中值的變化而變化),這在客戶端是很好實現的,只需要在二級下拉列表框中篩選數據即可。但是如果我們需要把表單發佈到Formservice就會出現問題了,因爲“啓用瀏覽器功能的表單模板不支持篩選”
不支持篩選又要實現級聯,這就迫使我們不得不“手工”進行篩選,通常我們有兩種做法:(1)添加webService數據連接,利用webService進行篩選(2)在上一級的下拉列表框的changed事件中添加動作,只要上一級的下拉列表框中的值發生變化,就修改下一級選項的備選值。
這兩種方法的優點在於靈活,適用於數據量大且變動頻繁的情況。但是畢竟是需要代碼開發,對於無代碼基礎的業務人員設計表單是不是有簡便的方法呢?
下面我就來介紹一種適用於少量數據的方法~
【題設】
學校裏每個年級擁有的班級數目都不同,在選擇班級時,我們需要先選擇年級,然後將該年級所包含的班級篩選出來以供用戶選擇。
【準備】
在數據源中添加如下域組:
所有域均爲文本類型,其中帶有藍色小箭頭的“Option”和“ClassOption”爲重複域組。
【詳細步驟】
1.進入“編輯默認值對話框”(工具à默認值)
2.選中“GradeChoice”,在下方的“默認值”處填寫“一年級”。
3.同樣爲ClassOption賦默認值爲“一年一班”:
4.點擊ClassOption右邊的小箭頭,選中其中的“在下方添加一個另一個ClassOption”。給新添加的ClassOption賦值爲“一年2班”:
5.點擊Option右邊的小箭頭,選中其中的“在下方添加一個另一個Option”。
給新添加的Option中的GradeChoice賦值爲“二年級”:
6.修改新添加的Option中的ClassOption的默認值。以此類推,根據實際的年級數及班級數給域賦默認值。
7.給表單拖入控件下拉列表框,綁定數據源爲“Grade”,雙擊下拉列表框,在彈出的屬性框中的“列表框項”中選擇“在表單數據中查找值”,在“選擇存儲項的重複組或項”的“項”中選擇“GradeChoice”:
8.拖入重複表控件,將重複表綁定在Option,並選擇顯示“ClassChoice”列:
9.將重複表中顯示的ClassChoice文本框通過右鍵菜單更改爲下拉列表框,並修改下拉列表框屬性,在“列表框項”中選擇“在表單數據中查找值”,在“選擇存儲項的重複組或項”的“項”中選擇“ClassOption”:
10.設置重複表的顯示規則:
11.發佈到sharepoint服務器的效果:

 

【總結】
這種方法不要求代碼,但是初次操作的話還是有些耗時的,建議在數據量小且變動不頻繁的情況下考慮這種方法。
認爲添加默認值的步驟麻煩的話,直接修改xsn中的template.xml文件應該也是可以的(沒親自試,覺得應該可以)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章