Xpages 动态添加/删除重复控件中的字段并将其保存到文档

Xpages 动态添加/删除重复控件中的字段并将其保存到文档,xpages,Xpages,我发现了这一点,它描述了如何将输入文本放入repeat控件中,无限次地重复它,并将其动态绑定到文档中的字段 这就是我所做的。我创造了这样一个重复: <xp:repeat indexVar="fieldSuffix" value="#{viewScope.rowCount}"> <xp:div> <xc:dynamicInputText dataSource="#{contact}" fieldName="fullName_#{fieldSuffix}" /&g

我发现了这一点,它描述了如何将输入文本放入repeat控件中,无限次地重复它,并将其动态绑定到文档中的字段

这就是我所做的。我创造了这样一个重复:

<xp:repeat indexVar="fieldSuffix" value="#{viewScope.rowCount}">
 <xp:div>
  <xc:dynamicInputText dataSource="#{contact}" fieldName="fullName_#{fieldSuffix}" />
 </xp:div>
</xp:repeat>

在自定义控件
dynamicInputText
中,我编写了如下输入文本控件:

<xp:repeat indexVar="fieldSuffix" value="#{viewScope.rowCount}">
 <xp:div>
  <xc:dynamicInputText dataSource="#{contact}" fieldName="fullName_#{fieldSuffix}" />
 </xp:div>
</xp:repeat>

然后我创建了一个Add按钮,在该按钮上我将
viewScope.rowCount
增加1,并部分刷新repeat控件。这将添加一行新的输入文本。类似地,我在单击时创建了一个删除按钮,该按钮将
viewScope.rowCount
递减1,并部分刷新repeat控件。这将删除最后添加的输入文本

现在,如果点击添加三次,我会在网页上得到三个输入文本字段。我在每一个表中输入信息。然后单击Delete删除第三个(最后一个)输入文本。现在,当我保存数据源时,所有三个字段(包括我删除的最后一个字段)都保存在文档中


为什么会发生这种情况?如何停止我删除的要保存在文档中的第三个字段?

您刚刚隐藏了该字段的渲染。绑定后,删除按钮必须清除其值或从DDS中删除该项。例如
DDS.replaceItemValue(字段“”)
或(最好)
DDS.removietem(字段)

谢谢。你的建议奏效了。但是replaceItemValue不起作用,所以我编辑了你的答案。