如何:在 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 中的外部项选取器的"其他设置"选项卡