我的InfoPath表单中有几行最初排列在一个表中。之后,我有一个由单行组成的重复部分,供用户以重复的方式逐行输入数据。每一行都需要索引,索引从上一个表中最后一行的索引开始。
InfoPath 2010中没有可用于自动递增的"表达式框"控件,如web上多个其他来源所述。
我不需要在提交后对表格进行编号。我希望ROWS自动编号,同时用户在浏览器中填写表单时在重复部分下输入值。
有办法解决这个问题吗?或者,有什么公式可以使用吗?
我可以使用计数函数完成,例如:
count(../preceding-sibling::*) + 1
您需要在重复组中为ID设置一个字段,然后转到该字段的属性,并使用公式按钮将其默认值设置为该函数。然后,您必须编辑xpath值来设置该函数调用的值。
注意:我使用的是InfoPath 2007,所以我不能100%确定这是否适用于InfoPath 2010
我在找一些simlilar的东西,只是我只是想让我重复的部分显示一个数字。
来自@firestream的答案对我来说几乎是有效的,只是出于某种原因,第一部分没有设置。它们被编号为"空白,2,3,4,…"此外,我不需要这个数字在数据源中保持不变,也不需要额外的字段。
我只创建了一个Expression Box控件,并将XPath设置为count(preceding-sibling::*)+1