# 主从结构

如果重复表字段比较多,一行显示不下,可以采用重复表的行上面只放必要字段,其余字段放在详细页上,当用户点击重复表上某行时会弹出这个详细页供查看或者编辑。

为了演示主从结构功能,我们现在将请假流程的出差行程增加一些字段,除了原先的日期、简述,我们再增加途径城市,访问单位两个字段,要求重复表的行里显示日期和简述,详情页里再额外显示城市和单位字段。当然这只是演示功能,真要是只有四个字段也不用采用主从结构了,实际开发中情况会比这复杂的多。

现在我们开始画表单,在infopath中设置主从接口是通过放置一个重复节和一个重复表来实现,这两个重复节表对应相同的group字段,重复节表中的控件对应相同的field字段。在表单渲染时候会自动隐藏重复节,只在需要显示详细页面的时候才会弹出窗口来显示。

所以我们先把原先出差行程改造成重复表,每行显示序号、日期、简述三个字段。然后在下方再添加一个重复节,右键点击该重复节弹出菜单里点修改绑定,然后绑到groupTrip重复表上。



接着往这个重复节里添加途径城市和访问单位两个字段,最终表单如下图。

更新表单后可以试试现在的显示效果了

主表



详细信息弹出页

在采用了主从结构后,重复行上的控件会部分会自动转换成为标签显示,即不提供在主行上编辑,编辑只在详细页中进行,点击主行上的标签就会弹出详细页。有一部分控件是不会自动转换为标签的,因为它们更适合在主行上直接编辑,详情请参考此处

主从结构我们一般只会放在桌面版的表单上使用,在移动端直接就用重复节就可以了,因为移动端弹出页面编辑和直接重复节上编辑效果几乎一样。

# 案例地址

download 流程链接
download 表单下载