控件简介
应用对象
用户填写的所有Microsoft Office InfoPath 表单都基于基础表单模板。 表单模板确定生成的表单的外观和行为方式。
填写表单时,用户通过键入文本框、单击列表中的项目、选择检查框以及执行其他操作来输入信息。 用户与之交互的图形用户界面对象称为控件。 使用控件可显示数据或选项、执行操作或帮助使窗体的用户界面更易于阅读。
除了标准控件(如文本框和列表框)外,InfoPath 还包括许多新控件,例如重复表、选择组和可选节。 这些类型的控件使你可以设计一个灵活的表单模板来容纳你的用户。 例如,在支出报表表单模板中,可以使用重复表允许用户仅根据需要输入任意数量的支出项。
用户在控件中输入的信息存储在窗体的数据源中。 设计表单模板时,通常使用“ 控件 ”任务窗格插入控件,不过也可以通过将字段和组从 “数据源 ”任务窗格拖动到表单模板来插入控件。
可以自定义控件的外观,包括控件内部文本的字体、颜色和对齐方式、控件的默认值和数据类型,以及其他属性,例如当用户将鼠标指针放在控件上时显示的屏幕提示。 还可以自定义控件的行为,例如控件筛选信息或响应规则的能力。
提示
若要查看控件的属性,请双击窗体模板上的控件。
本文内容
控件和数据源
InfoPath 表单上的几乎所有控件都与表单模板的数据源相关联或绑定到。 大多数控件(包括文本框、检查框和列表框)都绑定到数据源中的字段。 如果控件未绑定到数据源,或者如果绑定不正确,则输入到该控件的信息无法正确保存在基础表单 (.xml) 文件中。
设计 InfoPath 表单模板时,可以选择在每次插入控件时自动创建数据源中的字段,也可以自行手动将每个控件绑定到现有字段。
在以下示例中,表单设计器在表单模板上插入了 “姓氏” 文本框。 文本框绑定到表单模板数据源中的 lastName 字段。
根据此表单模板填写表单时,用户在“ 姓氏 ”文本框中输入其名称。 InfoPath 将数据另存为可扩展标记语言 (XML) ,如下图所示。
控件的类型及其关联字段共同决定了用户可以在控件中输入的信息类型,以及用户输入该信息的方式。 例如,如果表单模板上的日期选取器控件绑定到具有日期数据类型的字段,则用户只能在该控件中输入日期。 如果他们尝试在该控件中输入其他数据(例如姓名或地址),InfoPath 将显示数据验证错误。
注意
除了表单模板的主数据源外,还可以创建与 XML 文档、数据库、Web 服务以及Microsoft Windows SharePoint Services库和列表的数据连接。 这些数据连接会产生辅助数据源,这些数据源可用于填充列表框,并为文本框和其他控件提供值。
在表单模板上插入控件的方法
设计表单模板时,可以使用 “控件 ”任务窗格插入控件。 可以选择在插入控件时自动创建表单模板的数据源,在这种情况下,将在数据源中为添加的每个控件自动创建字段或组。 或者,可以选择将每个控件绑定到表单模板数据源中的现有字段或组。 如果选择此选项,则在插入控件时,系统会提示你从数据源中选择字段或组。
提示
若要在自动创建数据源和将控件绑定到现有字段或组之间切换,请使用“控件”任务窗格中的“自动创建数据源检查”框。
还可以通过将字段和组从 “数据源 ”任务窗格拖到表单模板上来插入控件。 每次将字段或组拖动到表单模板上时,InfoPath 都会建议与字段或组最匹配的控件。 例如,如果字段具有日期数据类型,InfoPath 会建议日期选取器。
控件类型
“ 控件 ”任务窗格包含 30 多个可添加到表单模板的不同控件。 这些控件可按以下类别分组:
- Standard控件
- 重复控件和可选控件
- 文件和图片控件
- 高级控件
- 自定义控件
下表描述了每个控件的用途。
Standard控件
Standard控件包括通常与收集和显示信息关联的控件。 这些控件包括文本框、列表框、检查框和按钮。
| 控制 | 图标 | 说明 |
|---|---|---|
| 文本框 |
|
窗体上最常用的控件。 用户可以在文本框中输入任何类型的无格式文本,例如句子、姓名、数字、日期和时间。 文本框不能包含带格式的文本。 |
| 格式文本框 |
|
可包含带格式文本(包括粗体和斜体文本)以及各种字体、字号和字体颜色的控件。 此外,用户可以在格式文本框中插入图像、列表和表格。 |
| 下拉列表框 |
|
一个控件,该控件向用户显示框中的选项列表。 若要从列表中选择项目,用户单击箭头以打开选项列表。 这些选项可以来自手动创建的列表、表单数据源中的值,或者来自 XML 文档、数据库、Web 服务或 SharePoint 库或列表的数据连接的值。 |
| 组合框 |
|
一个 控件,该控件在框中向用户显示选项列表,用户可以从该框中选择相应的项或键入自己的项。 这些选项可以来自手动创建的列表、表单数据源中的值,或者来自 XML 文档、数据库、Web 服务或 SharePoint 库或列表的数据连接的值。 |
| 列表框 |
|
一个 控件,它向用户显示框中的选项列表,用户可以从该框中选择相应的项。 这些选项可以来自手动创建的列表、表单数据源中的值,或者来自 XML 文档、数据库、Web 服务或 SharePoint 库或列表的数据连接的值。 |
| 日期选取器 |
|
一个控件,其中包含一个用户可以在其中键入日期的框和一个允许用户选择日期的日历按钮。 |
| 复选框 |
|
一个控件,允许用户通过在小方框中添加或删除检查标记来设置“是/否”或“true/false”值。 |
| 选项按钮 |
|
一个控件,允许用户从一组互斥选项中进行选择。 选择组中的一个选项按钮时,将清除其他选项按钮。 一组选项按钮绑定到数据源中的一个字段,每个选项按钮在该字段中保存不同的值。 |
| 按钮 |
|
可用于提交窗体或查询数据库等的控件。 还可以将按钮与用户单击按钮时运行的规则或自定义代码相关联。 |
| 部分 |
|
作为其他控件的容器的控件。 节可以包含“控件”任务窗格中列出的任何 控件 ,包括其他部分。 |
重复控件和可选控件
重复控件和可选控件包括列表控件、重复表、重复节和可选节。 这些控件允许用户在填写表单时插入列表项、行、记录集和可选信息。
| 控制 | 图标 | 说明 |
|---|---|---|
| 可选部分 |
|
控件是其他控件的容器,可用于包含所有用户不需要填写的额外信息。填写包含可选节的表单时,用户可以选择是否在表单中包含可选部分。 |
| 重复部分 |
|
控件是其他控件的容器,可用于显示基于记录的数据,例如员工数据库记录。 填写包含重复节的表单时,用户可以添加重复节的其他匹配项。 |
| 重复表 |
|
在表格结构中显示重复信息的控件。 每个项显示在重复表中的新行中。 填写表单时,用户可以根据需要添加或删除重复表中的行。 重复表可以包含其他控件。 |
| 水平重复表 |
|
在表格结构中显示重复信息的控件。 每个项都显示在重复表中的新列中。 填写表单时,用户可以根据需要添加或删除重复表中的列。 水平重复表可以包含其他控件。 |
| 母版/详细信息 |
|
一个控件,它实际上是一组直接相互关联的重复控件。 主控件始终是重复表,详细信息控件可以是重复表或重复节。 主控/详细信息控件可帮助用户更高效地处理大量数据。 例如,如果表单模板显示员工数据库记录,则可以指定只应在主控件中显示有关每个员工的一部分信息。 然后,当用户在主控件中选择记录 (行) 时,详细信息控件可以显示有关员工的更详细信息。 |
| 项目符号列表 |
|
允许用户根据需要在窗体中添加或删除项目符号列表项的控件。 项目符号列表控件是包含重复的简单文本(例如会议议程表单模板中的操作项列表)的好方法。 |
| 编号列表 |
|
允许用户根据需要在窗体中添加或删除编号列表项的控件。 编号列表控件是包含重复和指示某种顺序的简单文本的好方法,例如会议议程表单模板中的议程项列表。 |
| 纯列表 |
|
一个控件,允许用户根据需要添加或删除窗体中的列表项。 普通列表控件是包含重复的简单文本的好方法,例如会议请求表单模板中的与会者姓名列表。 |
| 多选列表框 |
|
一个控件,该控件向用户显示选项列表,这些选项显示为检查框的可滚动列表。 用户可以根据需要选择任意数量的检查框,甚至可以添加自定义条目,具体取决于表单模板的设计方式。 |
文件和图片控件
您可以设计表单模板,以便用户在填写基于表单模板的表单时可以插入文件附件或图片。 此外,在平板电脑上填写 InfoPath 表单的用户受益于特殊的墨迹图片控件,该控件允许他们创建和保存墨迹绘图。
| 控制 | 图标 | 说明 |
|---|---|---|
| 文件附件 |
|
允许用户将文件附加到其窗体的控件。 每个文件附件控件都允许附加一个文件,并且可以根据需要限制文件类型。 如果用户想要附加多个文件,可以将文件附件控件插入重复控件中。 |
| 图片 |
|
可以作为静态元素(如标题或背景)包含在表单模板上的控件,也可以允许用户将图片作为表单的一部分插入。 图片控件可以将图像存储在表单本身上,也可以存储指向图片保存位置的地址 (URL) 。 |
| 墨迹图片 |
|
一个控件,它允许使用平板电脑的用户在控件本身或背景图片的顶部向窗体添加墨迹绘图。 |
高级控件
高级控件是可能比标准控件使用频率较低或仅在特殊情况下使用的控件。
| 控制 | 图标 | 说明 |
|---|---|---|
| 超链接 |
|
可用于链接到 URL 的控件。 例如,显示有关产品列表信息的表单模板可以包含指向产品信息网页的超链接。 超链接控件可以指向 Intranet 或 Internet 上的任何 Web 服务器。 |
| 表达式框 |
|
只读文本控件。 可以使用表达式框显示只读文本、在窗体上显示另一个控件的值或基于 XPath 表达式创建公式。 |
| 垂直标签 |
|
以 90 度角显示在表单模板上的只读文本标签。 垂直标签通常用作重复表中的列标题。 |
| 滚动区域 |
|
包含其他控件、保留固定大小并包含滚动条的控件,以便用户可以滚动以查看不可见的信息。 如果窗体的某个部分包含大量数据,并且用户不需要一次性查看所有数据,则滚动区域特别有用。 |
| 水平区域 |
|
一个控件,它包含其他控件,可用于将其他控件并排放置在表单模板上。 |
| 选择组 |
|
一个控件,它包含两个或更多选项节,这些部分又包含其他控件。 选择组中的每个选项部分都充当一组互斥选项中的单个选项。 填写表单时,用户可以将默认选择部分替换为其他选择部分。 例如,在作业申请表单模板上,可以使用选择组来允许用户输入家庭电话号码或工作电话号码作为参考。 |
| 重复选择组 |
|
在重复结构中显示两个或多个选择节的控件。 填写表单时,用户可以根据需要添加、删除或替换其他重复选择组。 例如,在员工信息表单模板上,可以使用重复选择组让用户输入多个紧急联系人。 对于每个联系人,用户可以将家庭地址信息替换为工作地址信息。 |
| “选择”部分 |
|
包含其他控件且应始终出现在选择组或重复选择组中的控件。 当需要向现有选项组添加更多选项时,选项部分非常有用。 如果将选项节插入到选择组以外的任何位置,InfoPath 会自动将选择节插入到新的选项组中。 |
| 重复递归节 |
|
一个控件,该控件包含其他控件,可以插入到自身中。 可以使用重复递归节来创建分层内容,例如大纲。 |
自定义控件
可以使用“添加自定义控件向导”使自定义控件(包括 Microsoft ActiveX 控件和模板部件)在 InfoPath 中可用。 自定义控件是默认情况下未包含在 InfoPath 中的控件。
| 控制 | 说明 |
|---|---|
| 模板部件 | 一组自定义的控件,其中包括布局、属性设置和控件行为的某些方面,这些控件可以保存以供在多个表单模板中重复使用。 创建模板部件后,使用“添加自定义控件向导”将模板部件导入设计模式,以便在表单模板中使用它。 |
| ActiveX 控件 | 一个未包含在 InfoPath 中但可以添加到 “控件 ”任务窗格的控件。 可以从计算机上注册的现有 ActiveX 控件中进行选择,也可以使用为满足特定业务需求而开发的自定义控件。 例如,如果要开发用于财务设置的表单模板,则可以开发一个 ActiveX 控件,该控件允许在表单模板上显示股票行情信息。 创建或定位 ActiveX 控件后,使用“添加自定义控件向导”将控件导入设计模式,以便在表单模板中使用它。 |
兼容性注意事项
在 InfoPath 中设计表单模板时,可以选择特定的兼容模式来设计与浏览器兼容的表单模板。 当与浏览器兼容的表单模板发布到运行 InfoPath Forms Services 的服务器,然后启用浏览器时,可以在 Web 浏览器中查看基于表单模板的表单。 设计与浏览器兼容的表单模板时,某些控件在 “控件 ”任务窗格中不可用,因为它们无法在 Web 浏览器中显示。 浏览器兼容的表单模板不支持以下控件:
- 组合框
- 多选列表框
- 母版/详细信息控件
- 项目符号、编号和纯列表控件
- 图片和墨迹图片控件
- 墨迹图片控件
- 垂直标签
- 滚动区域
- 水平区域
- 水平重复表
- 选项组、重复选择组和选项节控件
- 重复递归节
- ActiveX 控件
还可以选择设计与 Microsoft Office InfoPath 2003 兼容的 Office InfoPath 2007 表单模板Microsoft。 在向后兼容的表单模板中,不支持组合框和多选列表框。 当用户在 InfoPath 2003 中打开表单模板时,组合框显示为下拉列表框,多选列表框显示为项目符号列表。
如果表单模板的特定部分想要在其他表单模板中重复使用,则可以设计模板部件。 典型的模板部件由控件和数据源组成,还可以包含数据连接、数据验证和规则等功能。 在模板部件中,ActiveX 控件不受支持,因此隐藏在 “控件 ”任务窗格中。 此外,如果设计与浏览器兼容的模板部件,则可以访问的控件和功能比设计模板部件仅在 InfoPath 中使用的控件和功能要少。
从表单模板中删除控件
若要从表单模板中删除控件,请选择该控件,然后按 DELETE 键。 删除控件时,绑定到该控件的字段将保留在数据源中。 但是,基于此表单模板的表单不会显示此字段中存储的数据。 若要显示数据,请将控件绑定到 字段。
如果要将其他控件绑定到字段,而不是删除控件,可以将控件更改为其他类型。 为此,请右键单击控件,单击“ 更改为”,然后单击菜单上的选项之一。 菜单仅显示可绑定到此类型的字段的控件类型。