XPages - 在表内部分刷新

时间:2013-11-27 12:22:26

标签: html ajax xpages lotus-notes

我想在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设计编辑器中看到它包含的行和单元格。

3 个答案:

答案 0 :(得分:3)

xp:divid一起使用,然后在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)

我认为你不能混合这样的标签。建议:

  1. 逐个刷新您需要的行。

  2. 如果要刷新的行数确实很多,请将表格拆分为多个表并刷新整个表格。

  3. 使用colspan制作一个全宽度单元格。在该单元格中添加一个新表并刷新该表。 (编辑)

  4. 修改

    根据您的评论,唯一的问题是验证。选中按钮事件中的“[x]未经验证的处理数据”复选框以禁用验证。