首页 > 单独文章 > 正文

在InfoPath 2007中使用 Web 服务中的值填充列表框、下拉列表框或组合框

时间:2007-07-25 21:17:17 作者:officeba 【认证】

概述

列表框、下拉列表框或组合框显示用户在填写基于您的表单模板的表单时可以选择的项目。您可以将这些类型的控件配置为显示来自 指向 Web 服务的辅助数据连接中的数据。辅助数据连接是指向某个外部数据源的任何数据连接,您可以将其添加到表单模板以便填写基于此表单模板的表单的用户可以从外部 数据源(如 Web 服务)中获取数据或将数据提交到外部数据源。

若要获取来自外部数据源的数据,您需要向查询数据的表单模板添加一个辅助数据连接。因此,Microsoft Office InfoPath 将创建一个辅助数据源 (数据源:为 InfoPath 表单定义和存储数据的字段和组的集合。表单中的控件绑定到数据源中的字段和组。),其中包含对应于 Web 服务的 XML 架构 (XML 架构:以 XML 编写的正式规范,定义了 XML 文档的结构,包括元素名和丰富的数据类型,以及哪些元素要以组合形式出现,每一元素具有哪些属性。)数据域 (数据域:包含对外部数据源的查询结果的域。) (组:数据源中可包含字段和其他组的元素。包含其他控件的控件(如重复表和节)绑定到组。)。查询数据连接从 Web 服务获取数据并将这些数据存储在表单的辅助数据源中。默认情况下,辅助数据源中的数据仅在用户连接至网络时可用。您可以将辅助数据连接配置为将查询结果保存在用户的计算机上,以便用户在其表单未连接至网络时可以访问这些数据。

安全性  如果要使用辅助数据连接从外部数据源中检索敏感数据,可能要禁用此功能,这是为了在计算机丢失或被盗的情况下对数据进行保护,以避免未经授权的使用。如果禁用此功能,数据将仅在用户连接到网络时可用。

由于辅助数据源中的数据结构必须与 Web 服务中存储数据的方式相匹配,因此,您不能修改辅助数据源中的现有域或组。在“请参阅”节可以找到指向有关数据连接和数据源的详细信息的链接。

 

开始之前

使用 Web 服务中的值填充表单模板上的控件之前,您需要从 Web 服务管理员处获取以下信息:

  • Web 服务的位置。
  • 验证该 Web 服务使用文档/文本样式的编码。InfoPath 只能使用文档/文本样式的 Web 服务。
  • 将数据发送到表单的 Web 服务操作的名称。
  • 是否可以安全地将 Web 服务的查询结果存储在用户计算机上以便脱机使用。

 

步骤 1:添加查询数据连接

如果您的表单模板中没有现成的查询数据连接可用于向控件提供值,请执行下面的步骤添加新的辅助数据连接。如果您的表单模板已经包含可用的辅助数据连接,则可以跳过此节并转至步骤 2:配置控件。

  1. “工具”菜单上,单击“数据连接”
  2. “数据连接”对话框中,单击“添加”
  3. 在“数据连接向导”中,单击“新建连接”,单击“接收数据”,然后单击“下一步”
  4. 在向导的下一页上,单击“Web 服务”,再单击“下一步”
  5. 在向导的下一页上,键入 Web 服务的位置。

     注释   如果要使用通用描述发现和集成 (UDDI) 服务器来搜索 Web 服务,请单击“搜索 UDDI”,输入要搜索的 UDDI 服务器的 URL,指定是按提供程序还是按提供的服务来搜索,输入搜索关键字,然后单击“搜索”。与搜索关键字匹配的 Web 服务将出现在“搜索结果”列表中。请选择要使用的 Web 服务,然后单击“确定”

  6. 单击“下一步”
  7. “选择操作”列表中,单击用于将数据返回到表单的 Web 服务操作,然后单击“下一步”
  8. 如果“数据连接向导”在 Web 服务架构中遇到未知元素,向导的下一页可能会要求您为每个参数指定示例值,以确定将哪些域或组添加到主数据源。

    隐藏操作方法

    1. “参数”表中选择一个参数,然后单击“设置示例值”
    2. “示例值”框中,键入用户可能用于此域的值,然后单击“确定”
    3. “参数”表中的每个参数重复上述步骤,然后单击“下一步”

      隐藏技术细节

      当 您在数据连接向导中配置到 Web 服务的数据连接时,Microsoft Office InfoPath 将连接到 Web 服务并请求 Web 服务描述语言 (WSDL) 文件。该 WSDL 文件包含 Web 服务所用的架构。Web 服务通过将此文件发送给 InfoPath 来响应请求。InfoPath 使用此文件中的信息向表单模板中的辅助数据源添加相应的域和组。如果 InfoPath 在 WSDL 文件中找到未知元素类型,InfoPath 将使用示例数据来确定未知元素类型的定义,然后将相应的域和组添加到辅助数据源中。
  9. 要使查询结果在表单未连接到网络时可用,请选中“在表单模板中存储一份数据副本”复选框。

    安全性  选中此复选框之后,当表单使用该数据连接时,将在用户计算机上存储结果数据。如果要从该数据连接获取敏感数据,您可能需要禁用此功能,以便在计算机丢失或被盗的情况下保护数据。

  10. 单击“下一步”
  11. 在向导的下一页上,键入该辅助数据连接的说明性名称。
  12. 要使表单在打开时自动接收数据,请选中“在打开表单时自动检索数据”复选框。

 

步骤 2:配置控件

  1. 如果表单模板有多个视图,请单击“视图”菜单上的视图名称,以转到具有控件的视图中,在此要显示辅助数据源中的数据。
  2. 双击要填充的列表框、下拉列表框或组合框。
  3. 单击“数据”选项卡。
  4. “列表框项”下,单击“从外部数据源查找值”
  5. “数据源”列表中,单击具有包含要使用的数据的组或域的数据源。
  6. 单击“项”框旁边的“选择 XPath”
  7. “选择域或组”对话框中,通过执行下列操作之一来指定将哪些数据显示给用户,以及将哪些数据提交至外部数据源。

    隐藏指定用户看到的数据与用户提交的数据相同

    • 单击某个域,再单击“确定”

    隐藏指定用户看到的数据不同于用户提交的数据

     注释   在这种情况下,用户将要看到的数据来自组中的某个域,而用户将要提交的数据位于同一组的另一个域中。

    1. 单击某个组,再单击“确定”
    2. 控件 属性”对话框中,单击“值”框旁边的“选择 XPath”
    3. “选择域或组”对话框中,单击包含用户将要提交到外部数据源的数据的域,再单击“确定”
    4. 控件 属性”对话框中,单击“显示名称”框旁边的“选择 XPath”
    5. “选择域或组”对话框中,单击包含将要显示在控件中的数据的域,再单击“确定”
  8. 如果“显示名称”框中的域包含具有相似显示名称的值,而您希望仅显示唯一名称,则请选中“仅显示具有唯一显示名称的条目”复选框。

相关文章

同类最新