如何:在 InfoPath 表单中嵌入外部项选择器控件

上次修改时间: 2015年3月9日

适用范围: SharePoint Server 2010

Microsoft InfoPath 2010 提供一个外部项选取器控件,您可在用户需要从 SharePoint 列表中选取一个外部项的场景(例如从 Customers 列表中选取客户 John),使用该控件在表单中嵌入一个选取器。外部项选取器在服务器和丰富客户端 Microsoft Office 应用程序中为外部项提供选取和解决功能。

如果您已经为 BDC 元数据存储中的外部内容类型设置了关联,并且该外部内容类型包含一个外键,则 Microsoft Business Connectivity Services (BCS) 将自动在表单中为该字段添加一个选取器。例如,让我们以客户/订单场景为例。假设已设置外部内容类型和关联。如果您在 InfoPath 中自定义 Order 外部列表表单,Business Connectivity Services 默认情况下会将 CustomerID 字段的外部项选取器控件放置在 Order 表单中。这使用户在处理订单时,可轻易地找到他们所需的客户。

然而,如果由于 SpecificFinder 具有一个或多个复杂类型而导致自动生成的 InfoPath 表单为空白表单,则您必须从服务器功能区中拖动一个外部项选取器控件,并设置所需的属性。您可能还想要从自定义 InfoPath 表单中启用此选取和解决功能。

若要嵌入一个外部项选取器控件,请将该外部项选取器控件拖放至 InfoPath 2010 中的设计表面上,然后在"常规"选项卡和"其他设置"选项卡上设置属性。表 1 列出了在表单中使用选取器时可能需要填写的设置。

表 1. 在表单中使用选取器时要提供的设置

选项卡

字段

说明

常规

ECT 命名空间

BDC 模型中的实体命名空间。

ECT 名称

外部内容类型的名称,如 BDC 模型中所示。

系统示例名称

BDC 模型中的 LOBSystemInstance 名称。

查找器名称

用来填充选取器对话框的 Finder 方法的名称。此字段是可选的,如果不指定此字段,Business Connectivity Services 将使用 BDC 模型中的默认查找器。

显示字段名称

您想要在选取器中显示的字段。这应该是由 Finder 返回的 TypeDescriptor 的名称。

SharePoint 网站 URL

可选的网站 URL 字段。如果将此表单发布到 SharePoint 网站,则不需要此字段。

对话框标题

可显示外部项并允许用户选取一个或多个项的对话框的标题。

显示更多结果

如果选中此复选框,则 Business Connectivity Services 将在对话框中显示"显示全部结果"按钮。

最大结果数

对话框中显示的结果的最大数量。默认值为 100。

刷新间隔(以分钟为单位)

刷新缓存的频率。默认频率为每 360 分钟刷新一次。

最大行数

用于多重选择的选取器控件中的可见行数。

其他设置

默认查询

每次打开选取器对话框时 Business Connectivity Services 使用的筛选值。如果未指定此值,则在每次打开对话框时,将检索所有的项。

默认查询

每次打开选取器对话框时默认执行的查询。

允许多重选择

如果选中,则允许用户选择多个项。您可能需要编写隐藏代码,以在表单中支持此功能。

打开时刷新

如果选中此选项,则在表单加载时从外部系统刷新数据。

选取器模式

默认设置是首先使用本地 Business Connectivity Services 缓存,如果该缓存为空,则连接到外部系统。其他可用选项有:

仅本地缓存模式

直接连接到外部数据源

通过 SharePoint 连接到外部数据源

图 1 演示了"常规"选项卡如何从 AdventureWorks 中获取 Customer 外部内容类型。

图 1. InfoPath 中的外部项选取器的"常规"选项卡

外部项选取器的"通用"选项卡

图 2 演示了"其他设置"选项卡。您可忽略此图中未突出显示的字段。

图 2. InfoPath 中的外部项选取器的"其他设置"选项卡

外部项选取器的"其他设置"选项卡