通过三个基本步骤,可以将Contact Selector控件配置用于工作流表单上:
-
将控件插入表单上,并根据需要设计控件的外观。
-
配置控件的架构。为了对控件进行数据绑定,必须创建一个数据结构来存储选定的联系人。
-
添加工作流上下文数据作为辅助数据源。表单要求此工作流上下文了解要针对哪个 SharePoint 网站来验证指定的用户。根据在工作流中使用表单的方式,工作流上下文还包括您可在表单规则中使用的信息。
将联系人选择器控件添加到 InfoPath 2007 表单
-
在 Microsoft Office InfoPath 2007 中,从“控件”窗格中将“联系人选择器”控件拖到表单上。
注意:
“联系人选择器”控件是一个自定义 ActiveX 控件,包含在 Microsoft Office SharePoint Server 2007 中。您必须将其添加到“控件”窗格以使其可用于工作流表单中。有关详细信息,请参阅如何:向 InfoPath 2007 添加联系人选择器。
-
双击该控件。在“联系人选择器属性”对话框中的“数据”选项卡上,对于“字段或组名称”键入该控件的名称。单击“确定”。
-
根据需要设计该控件的外观。
有关设计 Office InfoPath 2007 中的控件外观的详细信息,请参阅 Office InfoPath 2007 开发人员文档。
配置联系人选择器控件架构
要对Contract Selector控件进行数据绑定,必须使用表示每个联系人的控件创建一个数据架构。按以下格式为每个联系人创建架构。
<person>
<DisplayName>user display name</DisplayName>
<AccountId>DOMAIN/user account</AccountId>
<AccountType>user or group type</AccountType>
</person>
例如:
<person>
<DisplayName>Jane Doe</DisplayName>
<AccountId>REDMOND/janed</AccountId>
<AccountType>SPUser</AccountType>
</person>
下面是该架构的元素:
-
person 架构的根元素,表示一个联系人。
-
DisplayName 联系人在 Windows SharePoint Services 或 Active Directory 目录服务中的显示名称。
-
AccountId 此联系人的域和用户帐户标识符。
-
AccountType 此联系人表示的帐户的类型。
要在控件中创建此数据架构,您必须添加并配置一个称为 person 的组,它包含三个字段,如下面的过程所述。
为联系人选择器控件配置架构
-
在 Office InfoPath 2007 中,如前所述将“联系人选择器”控件插入表单。
-
选择“联系人选择器”控件,并在“设计任务” 窗格中单击“数据源”。
-
单击“联系人选择器”名称旁边的箭头,并在下拉菜单上单击“添加”。
-
在“添加字段或组”对话框中,创建一个具有以下属性的组:
-
对于“名称”,键入“Person”。
-
对于“类型”,请选择“组”。
-
选择“重复”。
-
单击“确定”。
-
-
单击“Person”组,然后在下拉菜单上单击“添加”。
-
添加一个具有以下属性的字段:
-
对于“名称”,键入“DisplayName”。
-
对于“类型”,选择“字段(元素)”。
-
对于“数据类型”,选择“文本(string)”。
-
选择“重复”。
-
单击“确定”。
-
-
单击 Person 组,然后按上一步中所述另外添加两个字段。
-
对于“名称”,针对第一个字段键入“AccountId”,针对第二个字段键入“AccountType”。
-
对于“类型”,针对每个字段选择“字段(元素)”。
-
对于“数据类型”,针对每个字段选择“文本(字符串)”。
-
针对每个字段选择“重复”。
-
添加工作流上下文数据作为辅助数据源
为使表单了解要针对哪个 SharePoint 网站来验证指定的联系人,您必须向表单中添加工作流上下文架构以作为辅助数据源。此上下文架构包含指定的 SharePoint 网站的 URL。架构还包含当您在表单中编写规则和逻辑时可以使用的上下文信息。例如,上下文信息包括了相关的数据,如果您要根据在工作流中使用表单的位置或根据是在服务器还是在客户端计算机上打开表单来切换视图,则可以使用这些数据。
当 Windows SharePoint Services 将表单作为工作流的一部分加载时,它将在表单的工作流程上下文架构中填充数据。
架构如下所示。
<Context
isStartWorkflow="true"
isRunAtServer="false"
provideAllFields="true"
siteUrl=""
/>
下面是该架构的元素:
-
Context 根元素,表示要传递给表单的工作流上下文信息。Context 元素具有以下属性。
-
isStartWorkflow 布尔值;如果表单被用作工作流初始表单,则为 true。您可以将指定的表单同时用作工作流关联和初始表单,它可以在每个阶段显示不同的视图。
-
isRunAtServer 布尔值;如果正在服务器上打开表单,则为 true。
-
provideAllFields 布尔值;如果该表单被用作工作流开始之前的最后一个用户交互点,则为 true。这意味着,对于您已指定要自动启动的工作流,该表单正用作工作流初始表单或工作流关联表单。
-
siteUrl String。正从中打开表单的 SharePoint 网站的 URL。
要将工作流上下文数据添加到表单,您必须首先创建一个表示上下文架构的 XML 文件,然后将该文件作为辅助数据源导入到表单中。
将工作流上下文数据作为辅助数据源添加到表单中
-
在您选择的 XML 编辑器中,创建一个名为“Context.xml”的 XML 文件。此文件表示工作流上下文架构。包含一个节点、“上下文”以及以下属性。
注意:
表单不使用在前三个属性中指定的实际值;包含它们只是为了指示这些属性被定义为 Boolean 数据类型。
-
将此文件保存到您的计算机。
-
将工作流上下文架构作为辅助数据源添加到表单。
-
在 Office InfoPath 2007 中的“设计任务”窗格上,选择“数据源”,然后单击“管理数据连接”。
-
在“数据连接”对话框中,单击“添加”。
-
在“数据连接向导”中,选择“新建连接”,然后选择“接收数据”。单击“下一步”。
-
选择“XML 文档”,然后单击“下一步”。
-
浏览到保存 Context.xml 文件的位置,选择此文件,单击“打开”,然后单击“下一步”。
-
选择“将数据包含为表单模板中的资源文件”,然后单击“下一步”。
-
键入“Context”作为数据连接名称,并确保选中“打开表单时自动检索数据”。单击“完成”,然后单击“关闭”。
在将 Context.xml 文件作为资源文件包含在表单模板中后,您不再需要该文件。您不需要在您的工作流解决方案中包括该文件。
注意:
必须将 Context.xml 作为工作流表单的辅助数据源。没有它所提供的数据,“联系人选择器”控件无法确定要针对哪个 SharePoint 网站来验证进入的联系人。如果您不添加 Context.xml 作为辅助数据源,打开表单时将生成错误。
-
http://msdn.microsoft.com/zh-cn/library/ms558892(v=office.12).aspx