用户在设计sharepoint工作流的任务表单时,若只需带出一些简单字段的初始值,通常采用辅助数据源的办法来实现,但是如果想要带出infopath重复表初始值就很困难了,因为辅助数据源不支持复杂的数据结构。
要解决此问题,只能通过对infopath任务表单添加初始化代码的方法了。
使用此方法,还必须对xml有一定了解,因为你的重复表中的数据就是xml,
思路是
1.仍旧需要定义辅助数据源,但是对重复表单部分,不用对重复表内的每个字段逐一定义对应字段,只用为重复表部分整体上定义一个就可以了。假如你的重复表最外一层的数据源为:data,
你的结构是:
data
datas
name
sex
age
datas
data
在辅助数据源中你可以定义ows_repeat 对应这个data,名字没有限制,而data里面的子字段就不用管了。
2.在你的工作流中产生重复表中需要xml内容,例如:strXMLofRepeat,仍旧通过Task1_Properties.ExtendedProperties[repeat]=strXMLofRepeat; 来赋值。
3.在设计任务表单时,选择工具-〉编程-〉loading事件
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
if (this.DataSources == null)
{
return;
}