Dynamic Dropdown List

 
本文描述在InfoPath中如何實現動態增/減dropdown list item. 廢話不多說,入主題。
 
打開Visual Studio 2008,創建一個InfoPath Template 項目。
 
Design

在設計模式中創建一個Dropdown list,一個Button,一個TextBox:
 
 
創建一個新的repeating field:
 
將repeating field 綁定到一個Multi-Selection listbox上。
 
打開Dropdown list 的屬性:
選擇 "Look up values in the form's data source", 並在"Entries"裏選擇新建的repeating field: dpItemValue.
至此,Design工作完成。
 
Coding

在"Add" button 的屬性中點"Edit Form Code...".

Visual Studio 會自動生成event handler.
向Dropdown list 中添加一個Item,實際上是增加一個dpItemValue節點。
XPathNavigator mainNav = this.MainDataSource.CreateNavigator();
                        XPathNavigator myFieldsElement = mainNav.SelectSingleNode("/my:myFields", NamespaceManager);

                        // Retrieve new dropdown list value.
                        String newItem = getNewDPValue();
                        if (!String.IsNullOrEmpty(newItem))
                        {
                                myFieldsElement.AppendChildElement("my", "dpItemValue", myFieldsElement.NamespaceURI, newItem);
                        }
 
大功告成。Source Code 在附件裏。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章