我想在XPage上定义一个区域 区域,然后在单击按钮时部分刷新此区域。使用部分刷新与面板没有问题,但我不知道如何定义要在表内刷新的区域。我尝试使用“div”和“xp:span”标签来定义这样的区域失败。这就是我在做的事情:
<xp:table>
<xp:div id="RefreshAreaID">
<xp:tr>
<xp:td>
<xp:label value="Row 3" id="label3"></xp:label></xp:td>
<xp:td></xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Row 4" id="label4"></xp:label></xp:td>
<xp:td></xp:td>
</xp:tr>
</xp:div>
当我添加xp:div标签时,我不再在XPage设计编辑器中看到它包含的行和单元格。
答案 0 :(得分:3)
将xp:div
与id
一起使用,然后在xp:div
内添加要刷新的内容。
更新现在您已经添加了源代码,我建议您刷新整个表。因此,向表中添加一个id,然后刷新该组件:
<xp:table id="RefreshAreaID">
<xp:tr>
<xp:td>
<xp:label value="Row 3" id="label3"></xp:label></xp:td>
<xp:td></xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Row 4" id="label4"></xp:label></xp:td>
<xp:td></xp:td>
</xp:tr>
...
</xp:table>
您还可以查看按chaining the partial refreshes刷新多个表格行。
答案 1 :(得分:1)
正如Per Henrik已经说过你可以使用div。或者如果您仍想使用表格,请尝试:
<xp:panel tagName="table" id="tableId">
<xp:panel tagName="tr" id="trId">
<xp:panel tagName="td" id="tdId"></xp:panel>
</xp:panel>
</xp:panel>
你应该能够使用“tableId”刷新整个表,使用“trId”刷新表,或者使用“tdId”刷新td。
答案 2 :(得分:1)
我认为你不能混合这样的标签。建议:
逐个刷新您需要的行。
如果要刷新的行数确实很多,请将表格拆分为多个表并刷新整个表格。
使用colspan
制作一个全宽度单元格。在该单元格中添加一个新表并刷新该表。 (编辑)
修改强>
根据您的评论,唯一的问题是验证。选中按钮事件中的“[x]未经验证的处理数据”复选框以禁用验证。