如何在InfoPath2010中转换主数据源

简介:

使用过InfoPath2007的人应该都知道,我们在设计或编辑一个InfoPath表单时,除了可以在设计界面的同时构建主数据源外,还可以事先将编辑好的主数据源XSD文件导入到InfoPath中,然后根据数据源的结构来设计表单界面。下面是这两种方法的一些简单介绍:

1. 在设计表单界面的同时构建主数据源

2011-10-25 10-20-11

打开InfoPath,在New菜单中选择Blank Form(界面和菜单的位置与InfoPath2007稍有不同)。InfoPath会打开一个空白的设计界面,你可以在里面任意设计界面布局和添加控件(InfoPath2010提供了一些现有的界面模板可以直接套用),在添加控件的同时InfoPath会同时为你生成对应的主数据源(在界面右边的Fields面板中)。这时的主数据源结构是可以手动编辑的,你可以修改主数据源中节点的名称和属性等,以及节点的位置。

2011-10-25 10-26-25

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文件,可以参考W3schoolSchema教程

2011-10-25 10-38-04

然后我们将定义好的XSD文件导入到InfoPath中。在InfoPath2007中,我们通过Tools菜单的Convert Main Data Source…菜单导入XSD文件,如下图:

2011-10-25 9-43-30

但是在InfoPath2010中,没有Tools菜单,那又该如何执行该操作呢?InfoPath2010中,在Data菜单下可以找到Refresh Fields,该菜单的功能既是InfoPath2007中的Convert Main Data Source菜单的功能。

2011-10-25 10-48-26

注意,使用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。


本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/archive/2011/10/25/2223479.html,如需转载请自行联系原作者


相关文章
|
6月前
|
SQL 流计算 OceanBase
OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
【2月更文挑战第25天】OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
163 3
|
3月前
|
SQL Java 数据库连接
JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码
这篇文章提供了使用JDBC连接SQL Server 2008数据库进行增加、删除、查询和修改操作的基本步骤和示例代码。
|
3月前
|
SQL 关系型数据库 测试技术
关系型数据库SQLserver修改现有列
【8月更文挑战第4天】
69 10
|
4月前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之使用连接串模式新增PostgreSQL数据源时遇到了报错"not support data sync channel, error code: 0001",该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
SQL 安全 数据库
数据库||数据定义
数据库||数据定义
|
6月前
|
存储
LabVIEW读取修改TDMS文件中的组名和通道名group name andchannel name
LabVIEW读取修改TDMS文件中的组名和通道名group name andchannel name
75 3
|
大数据 数据库 流计算
Flink CDC(Change Data Capture)是一种从数据库中捕获数据变化并将其转换为可用于处理的数据的方法
Flink CDC(Change Data Capture)是一种从数据库中捕获数据变化并将其转换为可用于处理的数据的方法
101 1
PADS新建封装
前面我们已经讲解过如何新建一个电阻元器件,那么接下来我们就要新建一个该电阻元器件在现实世界中的映射——封装(Footprint)。打开PADS Layout,执行如下步骤: 1、打开库管理器,选中新建的库ubug_lib,点击“封装”按钮后“新建”按钮变为可点击,如下图所示:
459 0
|
数据安全/隐私保护
批量注册图片,可以根据需要修改data,base64编码
批量注册图片,可以根据需要修改data,base64编码
127 0
批量注册图片,可以根据需要修改data,base64编码