自定义SharePoint 2010工作流:配置和部署InfoPath任务表单

在本教程的第三部分,将解释如何将数据从工作流发送到任务表单(InfoPath)。在第二部分中,解释了如何通过使用任务属性的扩展属性从工作流中检索InfoPath表单的数据。将使用任务属性对象将数据从工作流发送到InfoPath表单。

实现

要将数据发送到InfoPath表单,需要一个名为ItemMetadata.xml的XML文件。ItemMetadata.xml文件是区分大小写的,因此请确保文件名完全相同。此文件定义了任务模式。 SharePoint在表单的加载事件上将任务数据推送到编辑表单。将把ItemMetadata.xml作为次要数据源添加到InfoPath表单中。无论是否使用ItemMetadata.xml,都应该始终将其添加为次要数据源。

要创建ItemMetadata.xml,在任务编辑器中添加以下XML元素。

<z:row xmlns:z="#RowsetSchema"/>

要从SharePoint工作流推送到InfoPath表单的每个属性都将添加到上述XML元素中。

要添加属性,请添加一个以ows开头的属性,后面跟着一个下划线,然后是任务元素的名称。定义的ItemMetadata.xml内容如下。

<z:row xmlns:z="#RowsetSchema" ows_title="" ows_technology="" ows_experience=""/>

打开InfoPath表单的设计模式。在数据选项卡中,单击数据连接菜单。在数据连接对话框中,单击添加以配置次要数据源。

向导的下一步需要输入连接类型的信息。选择接收数据单选按钮,然后单击下一步。

在下一个窗口中,选择XML文档单选按钮,然后单击下一步。

现在浏览文件系统上的ItemMetadata.xml文件,然后单击下一步。

在下一步中,选择将数据作为资源文件包含在表单模板中,然后单击下一步。

数据连接应命名为ItemMetadata。选中自动检索数据时打开表单复选框,然后单击完成。现在ItemMetadata.xml文件已作为资源文件嵌入到InfoPath表单中。因此,不需要将ItemMetadata.xml与工作流一起部署。将文件添加到工作流的表单文件夹中,仅供参考。

在InfoPath表单上,放置想要绑定到任务模式的控件。在示例中,使用了文本框控件来绑定数据。为确保任务数据不被更改,将其设置为只读,并更改了文本框控件的背景颜色为灰色。

右键单击控件,然后单击文本框属性。在对话框中,选择数据选项卡,然后单击默认值文本框旁边的公式按钮。

在插入公式对话框中,单击插入字段或组。在选择字段或组对话框中,选择字段下拉列表中的ItemMetadata连接。现在选择想要将控件数据绑定到的字段,然后单击确定。通过单击确定关闭所有对话框。

if (listItem != null) { this.createTaskInitialClearanceTaskProperties.ExtendedProperties["ows_title"] = listItem["Title"].ToString(); this.createTaskInitialClearanceTaskProperties.ExtendedProperties["ows_technology"] = listItem["Technology"].ToString(); this.createTaskInitialClearanceTaskProperties.ExtendedProperties["ows_experience"] = listItem["Experience"].ToString(); }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485