我是Infopath的新手,需要一些架构指南。我的方案如下:
我有一个Sharepoint列表,让我们说它包含啤酒,以及它的三个项目:“Kronenbourg”,“Corona”,“Tuborg”。 “Beer”是一种内容类型,源自Item。
我需要创建一个“动态”Infopath表单,向用户显示每个啤酒的CheckBox。如果在啤酒列表中添加了新啤酒,则表单上会出现一个新的复选框,无需干预,即使是在保存的表单实例上也是如此。我还没有决定删除会发生什么。
然后,我需要在sharepoint表单库中保存此infopath表单(包括选项),以便用户可以返回他们已保存的许多啤酒表单中的一个,并可能更改选择。
我还需要在某个时间点从选择中构建一个字符串,并将此字符串显示在表单库的可见列中,但这超出了本文的范围。
我有一种工作的Infopath表格。我在Beer列表中添加了一个sharepoint dataconnection,并将重复表拖到设计区域。这“工作”,我得到了我的列表项列表。然后我在我的啤酒内容类型中添加了虚拟Y / N字段,在字段中选中它,现在我的记录旁边有一个简洁的复选框。
显然这似乎不对。我不需要将任何东西保存回Beer表,我只需要使用啤酒表进行查找,并将选定的选项保存在表格的保存实例中。
好的,谢谢你到目前为止和我在一起。我在这里做什么,可以说服Infopath支持这样的场景,还是我最好建立自定义的webparts?我认为我的主要问题是:
我可以将“仅输入”CheckBox附加到重复列表/部分吗? (以及如何引用这种动态创建的控件)
如何让Infopath从db动态加载选项,但是将数据保存在表单实例中?
应该,我可以将内容类型附加到表单库,表示选择并以某种方式将其附加到表单中吗?
感谢任何输入
答案 0 :(得分:1)
如果我理解您的要求,我认为这里要做的是使用多选列表框(MSLB)。这可以从辅助数据源(即列表)填充其值,并且它将绑定到重复字段,该字段会在选择和取消选择值时自动添加和删除值。
至于将选择变为单个字符串,如果您只想将表单将提交给表单库的列的此值,则可以将此重复字段用作提升属性,并使用“聚合”选项将值组合成一个。
另一种选择是创建一个单独的字段来保存字符串并使用“双重评估技巧”(请谷歌那个)将值组合成一个。这里有一个问题是,如果你使用MSLB的双重评估技巧,你必须将公式放在MSLB字段的规则中,和在目标字段的默认值公式中。