数据源介绍

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

本文内容

数据源概述

主数据源

辅助数据源

了解数据源与 XML 架构之间的关系

数据源概述

所有此是用户可以在列表框、 下拉列表框或组合框中,选择的数据的数据的用户添加到窗体,还是在窗体中显示的数据存储在窗体的数据源。数据源的域和组组成。字段中相同的方式在您的硬盘上的文件夹包含和组织您的文件,包含在基于您的表单模板的表单中输入用户和组包含并组织这些字段的数据。用户将数据添加到窗体上的控件,这些控件绑定到这些字段。例如,假设您要设计金报销单的表单模板。当用户打开基于表单模板的表单时,他们可以将其名字、 中间名和姓氏姓名放入三个文本框控件,每个文本框绑定到一个字段供名字、 中间名的字段和姓氏字段。这些名称字段包含在组称为"名称"。

“数据源”任务窗格中,可以查看和使用表单模板的数据源中的域和组。

InfoPath 中的“数据源”任务窗格

1. 域

2. 组

虽然数据源的结构并不总是与表单模板的布局相匹配,但两者之间存在相似性,特别是对于与重复表、节、重复节和可选节关联的组和域更是如此。例如,某一个表或节绑定到数据源中的组,该表或节中的所有控件都绑定到属于该组的域。在下图中,费用报表表单中的“经费明细”重复表由三列组成,其中包括“日期”日期选取器、“说明”文本框和“成本”文本框。这些控件分别绑定到日期域、说明域和金额域。该表本身绑定到项目组。

与数据源中的组和域绑定的重复表

一个表单模板可以有两种类型的数据源 - 单个主数据源,还可以有一个或多个辅助数据源。 

返回页首

主数据源

主数据源包含以下内容:

  • 用户在填写基于表单模板的表单时添加的数据,如用户在文本框中输入的数据。例如,用户在与主数据源中的域绑定的文本框中输入他们的名、中间名和姓。

  • 来自到数据库或 Web 服务的数据连接的数据,用于定义表单模板的数据源。

主数据源中的数据是用户在填写表单时保存或提交的数据。当用户保存表单以便稍后提交时,用户是在主数据源中保存数据。

创建主数据源

创建表单模板时,Microsoft Office InfoPath 将自动为您创建主数据源。所有的 InfoPath 表单模板都包含一个主数据源。根据您创建的表单模板的类型,可以向主数据源中添加域和组:

空白表单模板    通过使用“数据源”任务窗格或通过将控件从“控件”任务窗格拖至表单模板的视图上,可以向主数据源中添加域和组。将控件拖动到视图上时,InfoPath 将根据所添加的控件的类型向主数据源中添加域和组。例如,如果将文本框控件拖动到表单模板上,InfoPath 会向主数据源中添加一个域。如果将重复节控件拖动到表单模板上,InfoPath 会向主数据源中添加一个组。如果将重复表控件拖动到表单模板上,InfoPath 会为重复表向主数据源中添加两个组,并为表中的每一列向主数据源中添加一个对应的域。

基于 XML 文档的表单模板    InfoPath 将添加映射到架构中所定义的元素或文档中的元素的域和组。

基于 Microsoft Office Access 数据库或 Microsoft SQL Server 数据库的表单模板     InfoPath 将根据数据库存储数据的方式向主数据源中添加域和组。

基于 Web 服务的表单模板    InfoPath 将添加映射到 Web 服务所提供的架构的域和组。

如果数据源(例如,Web 服务或数据库)不包含在表单模板中,则将其称为外部数据源。InfoPath 表单将通过数据连接来连接到这些外部数据源。  

修改主数据源

可以根据主数据源中现有的域或组向该主数据源中添加其他域和组。下表基于“数据源”任务窗格中显示的图标列出了可向现有的域或组中添加的内容。

图标

可以添加的内容

组图标

组图标    可以向此组中添加组或域。此图标表示使用“数据源”任务窗格添加到主数据源中的组,或与此组关联的控件(该控件是从“控件”任务窗格拖至空白表单模板的视图上的)。

图标图像

域图标    只能向此域中添加域。此图标表示使用“数据源”任务窗格添加到主数据源中的域,或与此域关联的控件(该控件是从“控件”任务窗格拖至空白表单模板的视图上的)。

锁定组图标

锁定组图标    不能向此组中添加域或组。此组基于到外部数据源的数据连接。

锁定域图标

锁定域图标    不能向此域中添加域。此域基于到外部数据源的数据连接。

如果将控件拖动到表单模板中的视图上,并且该表单模板包含基于数据连接的域和组,则必须将该控件绑定到主数据源中的现有域和组。InfoPath 不会自动向包含基于外部数据源的域和组的表单模板中添加域和组。有关添加域和组的详细信息,请在请参阅部分中查找指向这些信息的链接。

注意: 如果用户已经填写了基于表单模板的表单,则对表单模板的主数据源进行如下更改会导致这些表单中丢失数据:

  • 移动、删除或重命名域或组

  • 将重复域或组更改为非重复域或组

  • 将格式文本数据类型更改为其他数据类型

对于可以修改的域和组,可以更改以下属性:

名称    域或组的名称。

名称要求

  • 主数据源中的每个名称都必须是唯一的。如果必须对多个域或组使用相同名称,则可创建对该域或组的引用。创建对域或组的引用时,InfoPath 将创建一个相同的新域或组,其属性链接至第一个域或组的属性。对一个域或组的任何更改都会自动更新其他被引用的域或组。引用组同引用域一样,包含相同的域和组并共享相同属性。

  • 名称不能包含空格。

  • 名称必须以字母字符或下划线 (_) 开头,并且只能包含字母数字字符、下划线、连字符 (-) 和句点 (.)。

除了上述要求外,最好使用可以描述域或组内容的名称。例如,如果有一个组包含经费明细,则可将该组命名为“ItemizedExpense”。对于组中包含费用金额的域,可将该域命名为“expense”。

类型    定义主数据源中的某一项是域还是组。域具有唯一值,而组包含其他域。

域和组的类型

类型

何时使用

域(属性)

如果满足以下一个或多个条件,则可对域使用此类型:

  • 域不能包含其他组或域。

  • 域必须在元素域中。

  • 域不是重复域。

  • 域必须始终包含值。

  • 域属于除了格式文本 (XHTML) 之外的任何数据类型。

  • 数据库或 Web 服务需要一个属性域。

域(元素)

如果满足以下一个或多个条件,则可对域使用此类型:

  • 域可以包含其他属性域。

  • 域是组的一部分。

  • 域在组中重复。

  • 数据库或 Web 服务需要一个元素域。

元素域可以属于任何数据类型,并且可以具有或不具有默认值。

对可以包含其他域或组的组使用此类型。

组(选项)

如果组只能包含若干种不同类型之一的域或域组,则使用此类型。

例如,假设您正在设计一个表单模板,以供美国和欧盟国家和地区的供应商使用,且该表单模板中包含一个地址选择组。其地址选择组包含一组用于美国地址的域,或一组用于欧盟国家和地区地址的域。当用户打开基于此表单模板的表单时,用户可以选择输入美国或其他国家或地区的地址。表单中将显示与相应组中的域绑定的控件。

完成 XML 架构或 XML 文档

如果要向数据源中的指定位置添加其他 XML 架构或 XML 文档,请使用此元素类型。

数据类型    定义域可以存储的数据种类。

可用的数据类型列表

数据类型

何时使用

文本

Use this data type for an element or attribute field that contains unformatted text.

Rich Text

Use this data type for an element field that contains formatted text. You cannot use this data type for attribute fields.

Whole Number

此数据类型用于包含无小数数字的元素域或属性域。

小数

此数据类型用于包含货币值或小数数字的元素域或属性域。

真/假

此数据类型用于所包含数据只能取两个值中的一个的元素域或属性域。

Hyperlink

Use this data type for an element or attribute field that contains a Uniform Resource Identifier (URI), such as a hyperlink or a namespace.

Date

此数据类型用于包含日历日期的元素域或属性域。

时间

此数据类型用于包含 24 小时制时间的元素域或属性域。

日期和时间

此数据类型用于同时包含日历日期和 24 小时制时间的元素域或属性域。

图片或文件附件

Use this data type for an element or attribute field that contains binary data, such as an image or a picture.

Custom

Use this data type for an element or attribute field with custom data types that are defined by a namespace. This data type is typically used for a field or group that is bound to a custom control. The Data namespace box is enabled when you choose this data type.

注意: This table shows only the most common XML data types used in a form template. In InfoPath, you can use any XML 1.0 data type in the World Wide Web Consortium (W3C) recommendations. To use a data type that is not listed in the table, you must extract the form files for a form template and edit the schema (.xsd) file. Find links to more information about extracting the form files for a form template in the See Also section.

数据命名空间   定义要添加自定义数据类型命名空间统一资源标识符 (URI)。此属性是可用于具有自定义数据类型属性的元素或属性的字段。将自定义控件添加到表单模板时,此属性通常包含绑定到的字段自定义控件作者定义的值。

默认值   当用户首次打开窗体定义一个元素或属性的字段的初始值。您还可以添加为默认值,如当前日期、 数学计算或对另一个字段的引用的公式。

重复   定义是否元素字段、 属性域或组可以多次出现在窗体。列表控件、 重复节,重复表和重复节的一部分的控件或重复表绑定到的重复域和重复组。

不能为空    定义元素或属性域是否必须包含值。如果域没有值,则绑定到此域的控件将用红色星号来标记,对于某些类型的控件,会用红色虚框来标记。此属性仅可用于域,不可用于组。

返回页首

辅助数据源

辅助数据源是表单中的数据源,其中包含通过到外部数据源的其他数据连接提供的数据。例如,假设您要为费用报表创建一个表单模板,并且您希望基于表单模板的表单接受以其他货币表示的费用。但是,货币数据存储在数据库中。要显示货币数据,需要添加到该数据库的数据连接。货币数据将存储在辅助数据源中,并显示在表单模板的列表框控件中。

来自其他数据连接的数据存储在辅助数据源中,可随后显示为控件(例如列表框、组合框或下拉列表框控件)的选项,以供用户在填写表单时选择。当用户在辅助数据源中选择一项时,所选内容将复制到主数据源的域中。

辅助数据源与主数据源有以下的不同之处:

  • 辅助数据源在表单模板中是可选的。所有表单模板都必须具有主数据源。

  • 一个表单模板可以有一个或多个辅助数据源,但只能有一个主数据源。

  • 辅助数据源中的域和组基于数据在外部数据源中的存储方式(外部数据源通过数据连接与表单连接)。这些域和组不能使用 InfoPath 进行修改。

  • 与主数据源不同,辅助数据源不随表单保存。

  • 当用户提交完成的表单时,通常不提交辅助数据源中的数据。但是,可以配置表单模板,以便使用规则将辅助数据源中的数据提交给 Web 服务,或使用自定义代码将其提交给电子邮件收件人。

创建辅助数据源

当您通过添加到外部数据源的数据连接向表单返回数据时,InfoPath 将自动创建辅助数据源。向表单模板中添加的每个数据连接都会创建一个对应的辅助数据源。InfoPath 会采用向主数据源中添加域和组的相同方式,将域和组添加到辅助数据源中。域和组将添加到辅助数据源中,以便映射到外部数据源存储数据的方式。可以创建到以下各项的辅助数据连接:

  • Web 服务

  • XML 文件

  • Microsoft Office Access 数据库或 Microsoft SQL Server 数据库

  • 运行 Microsoft Windows SharePoint Services 的网站上的列表

向表单模板中添加数据连接并创建辅助数据源时,可在“数据源”任务窗格中查看辅助数据源中的域和组。此任务窗格中将显示每个辅助数据源,其中包含数据连接的名称,后面是括在括号中的“辅助”

“数据源”任务窗格中的辅助数据源

修改辅助数据源

由于辅助数据源中的域和组基于到外部数据源的数据连接,因此不能修改辅助数据源中的域和组。在“数据源”任务窗格中查看辅助数据源时,域将具有锁定域图标 锁定域图标 ,组将具有锁定组图标 锁定组图标 ,以表明不能对其进行修改。

返回页首

了解数据源与 XML 架构之间的关系

当用户填写基于表单模板的表单时,该表单的主数据源和辅助数据源将作为 XML 文档存储在用户的计算机中。XML 文档的结构由 XML 架构定义。XML 架构是基于 XML 的文件,用于定义 XML 文档的结构和元素,在此情况中,则定义表单和元素可以包含的数据。

创建表单模板时,InfoPath 将自动创建用于定义用户要填写的表单的结构的 XML 架构。数据源中的每个域或组对应于 XML 架构中的一个元素。数据源中每个域和组的属性定义生成的 XML 文档中的对应元素的结构以及每个元素可以包含的数据。在“域或组属性”对话框的“详细信息”选项卡中可以查看其他架构详细信息,通过双击“数据源”任务窗格中的域或组可以打开该对话框。

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×