一步步学习微软InfoPath2010和SP2010--第七章节--从SP列表和业务数据连接接收数据(4)--外部项目选取器和业务数据连接

        许多公司在SharePoint中使用BCS连接到外部系统(如客户或生产数据库),并使其在SharePoint中可用。BCS与之前我们讨论的数据连接类型不同,主要是在:数据处于它自己的应用程序而不是SharePoint列表。BCS给SharePoint(以及InfoPath)一个视图查看数据,但是数据仍然在自己的应用程序中(特别是数据库)。

        对于在SharePoint2010中使用的BCS,InfoPath2010有External Item Picker控件,专门从BCS获得数据。当添加到表单时,这个控件提供了简单的方法从数据源到连接的BCS中选择项目。例如,用户填写客户服务表单时,你可能想让她直接从BCS选择客户名,而不是在SharePoint中创建一个复制信息列表和另外一个数据连接。

        BCS由SharePoint管理员创建。假设你可以使用BCS,ExternalItem Picker对于InfoPath表单设计者有很多独特的好处,包括预置安全性和数据访问模型。

        你将一步步添加External Item Picker控件到表单,设置其属性,这样你可以通过BCS从外部数据源选择一个项目。本练习假设你的系统上已经在BCS中建立了external content type(ECT)。ECT使用XML定义存储在外部系统(如SQL数据库)的数据。如果你不是SharePoint管理员,你将需要收集必要信息----如提供一些如何配置ECT来使用InfoPath的说明。

        准备:打开InfoPath Designer。

1.      创建空白表单,发布到SharePoint表单库。

2.      添加External Item Picker控件到表单

3.      右击控件,选择属性,点击“常规”选项卡。


         本页面包括你需要从SharePoint系统管理员处收集的许多属性。最简单的方法是进入管理中心的SharePoint服务应用程序,选择Business Data Connectivity Services。


4.      点击指定的外部内容类型。下图显示了Sales Order DB内容类型


5.      从外部内容类型信息收集下列信息:Name;Namespace;External System

6.      切换到InfoPath,执行以下步骤:

        A. 用Namespace填充ECT命名空间

        B. 用Name填充ECT名称

        C. 用ExternalSystem填充系统实例名称

        D. 暂时跳过Finder名称,下一步将添加这个数据

        E.  用你在控件中使用的数据库域填充显示字段名称。如果管理员使用SharePoint Designer创建ECT,你可以在Designer的ECT属性处看到所有可用域。本例中是Customer Contact。


7.      在控件属性对话框中,切换到“其他设置”选项卡,保证选中“打开时刷新”复选框,切换到“选取器模式”下拉框,选择“通过SharePoint连接到外部数据源”。这样设置是因为你将在SharePoint中使用BCS。


8.      切换回“常规”选项卡。

        还有一个非常重要的域需要填写:Finder名称域。Finder名称域ECT上的筛选器相同。这个用户在控件中搜索信息的能力。如果你没有排至筛选器,用户将看到来自数据库的所有结果列表,他将不得不滚动查看全部,而不是简单地搜索。

9.      如果管理员已经在ECT的“读取列表”操作中定义筛选器,请添加添加筛选器名称到External Item Picker控件属性对话框的Finder名称域。本例中,筛选器名Filter

        注意:如果你在ECT中没有筛选器,请查看本练习后如何添加筛选器的说明,然后回到步骤9.


10.  点击“应用”,点击“确定”。

        点击“快速发布”按钮更新表单库。如果你在表单库中新建表单实例,你应该能够使用External Item Picker控件浏览并搜索来自外部系统的数据了。


        小贴士:如果控件不正常工作不要灰心。它是最复杂的InfoPath控件之一。几个活动件需要在SharePoint和InfoPath中正确设置才能使External Item Picker控件正常运行。要核实在步骤中每个可能点都正确输入。

posted @ 2014-04-01 10:48  crazygolf  阅读(180)  评论(0编辑  收藏  举报