如何在InfoPath2010中转换主数据源
使用過InfoPath2007的人應該都知道,我們在設計或編輯一個InfoPath表單時,除了可以在設計界面的同時構建主數據源外,還可以事先將編輯好的主數據源XSD文件導入到InfoPath中,然后根據數據源的結構來設計表單界面。下面是這兩種方法的一些簡單介紹:
1. 在設計表單界面的同時構建主數據源
打開InfoPath,在New菜單中選擇Blank Form(界面和菜單的位置與InfoPath2007稍有不同)。InfoPath會打開一個空白的設計界面,你可以在里面任意設計界面布局和添加控件(InfoPath2010提供了一些現有的界面模板可以直接套用),在添加控件的同時InfoPath會同時為你生成對應的主數據源(在界面右邊的Fields面板中)。這時的主數據源結構是可以手動編輯的,你可以修改主數據源中節點的名稱和屬性等,以及節點的位置。
2. 創建XSD文件并導入到InfoPath中
InfoPath的一個最主要的用途就是在線收集以固定格式定義的XML數據文件。我們將定義好的InfoPath模板發布到網絡上的一個公共位置,用戶下載并使用這個模板填寫數據并最終生成對應格式的XML文件。既然InfoPath模板規定了最終要生成的XML文件的結構,那么我們在設計InfoPath模板之前便可以確定好XML的結構。XML的結構定義是由XSD文件來規定的,編寫XSD文件的一個最簡單的方法就是事先在Visual Studio中手動將XML結構編寫好,然后在XML菜單中選擇Create Schema,Visual Studio會自動為你生成對應的XSD文件。當然,你可能還需要知道一些有關XSD的知識以防在必要的時候手動修改XSD文件,例如讓XSD的結構在InfoPath中支持Rich TextBox控件,以及支持InfoPath的循環節點等。有關如何定義XSD文件,可以參考W3school的Schema教程。
然后我們將定義好的XSD文件導入到InfoPath中。在InfoPath2007中,我們通過Tools菜單的Convert Main Data Source…菜單導入XSD文件,如下圖:
但是在InfoPath2010中,沒有Tools菜單,那又該如何執行該操作呢?InfoPath2010中,在Data菜單下可以找到Refresh Fields,該菜單的功能既是InfoPath2007中的Convert Main Data Source菜單的功能。
注意,使用XSD文件作為數據源導入到InfoPath之后,不能再在InfoPath中修改該主數據源的結構,如要修改主數據源的結構,必須修改原始的XSD文件然后再重新導入。
?
在XSD中將節點定義為支持InfoPath的Rich TextBox控件:
<xs:element?name="content">??<xs:complexType?mixed="true">
????<xs:sequence>
??????<xs:any?namespace="http://www.w3.org/1999/xhtml"?processContents="lax"?minOccurs="0"?maxOccurs="unbounded"/>
????</xs:sequence>
??</xs:complexType> </?xs:element>
在XSD中將節點定義為支持InfoPath的循環Section:
<xs:element?name="segment"?maxOccurs="unbounded"?minOccurs="0">?
maxOccues=unbounded表示循環沒有上限(即可以在InfoPath中無限添加該節點) ;minOccurs=0允許沒有該節點,如果值為1則表示該節點最少出現次數為1。
轉載于:https://www.cnblogs.com/jaxu/archive/2011/10/25/2223479.html
總結
以上是生活随笔為你收集整理的如何在InfoPath2010中转换主数据源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何突破防病毒网关
- 下一篇: ARM 内核寄存器 和 基本汇编语言讲解