Xpages在repeat中获得下一行数据或文档的句柄

Xpages在repeat中获得下一行数据或文档的句柄,xpages,xpages-ssjs,Xpages,Xpages Ssjs,在我的重复控件中,我希望能够获得下一行数据的句柄,以便修改当前行中显示的数据(我有上移和下移动作,如果无法移动,我不想显示它们) 看来我应该能做到这一点。也许我不能从内部重复,因为当它写重复时,它不会知道下一次重复的数据。但是,难道不应该有一个相当简单的方法来获取下一个文档吗 这是我的重复控制的简化版本: <?xml version="1.0" encoding="UTF-8"?> <xp:view xmlns:xp="http://www.ibm.com/xsp/core"&

在我的重复控件中,我希望能够获得下一行数据的句柄,以便修改当前行中显示的数据(我有上移和下移动作,如果无法移动,我不想显示它们)

看来我应该能做到这一点。也许我不能从内部重复,因为当它写重复时,它不会知道下一次重复的数据。但是,难道不应该有一个相当简单的方法来获取下一个文档吗

这是我的重复控制的简化版本:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

<xp:repeat
                id="repeat1"
                var="rowData"
                indexVar="repeatIndex"
                value="#{view1}"><xp:this.facets>
                    <xp:text
                        disableTheme="true"
                        xp:key="header"
                        escape="false"
                    >
                        <xp:this.value><![CDATA[<table class='lotusTable repeatRowColors' border='0' cellspacing='0' cellpadding='0' width='800px'>
<tr class ='lotusFirst lotusSort scope='col'>
<th class ='loutsFirstCell'></th>
<th class ='loutsFirstCell'>Category</th>
<th class ='lotusCenter'>Move</th>
<th>Task</th>
</tr>
</thead>]]></xp:this.value>

                    </xp:text>
                    <xp:text
                        disableTheme="true"
                        xp:key="footer"
                        escape="false"
                    >
                        <xp:this.value><![CDATA[</table>]]></xp:this.value>

                    </xp:text>
                </xp:this.facets>
                <xp:this.rows><![CDATA[#{javascript:var rows:Integer = viewScope.get("rows");
if (rows == null)
{return 5}
else
{return rows}}]]></xp:this.rows>
                <xp:tr id="rowDataContainer">

                    <xp:td
                        style="width:55px;min-width:55px;max-width: 55px;">
                        <xp:text
                            escape="true"
                            id="computedField2">
                            <xp:this.value><![CDATA[#{javascript:rowData.getColumnValue("category");}]]>
                            </xp:this.value>
                        </xp:text>
                    </xp:td>

                </xp:tr>
            </xp:repeat>
</xp:view>


可以使用“重复”获取视图中的下一行

var nextRow = view1.getAllEntries().getNthEntry(repeatIndex + 2);
“view1”是分配给repeat control的xp:dominoView,“repeatIndex”是xp:repeat的
indexVar

您可以使用获取下一行文档的唯一ID

nextRow ? nextRow.getUniversalID() : ""
和表单字段,例如

nextRow ? nextRow.getDocument().getItemValueString("Form") : ""
相应地,您可以使用

var prevRow = view1.getAllEntries().getNthEntry(repeatIndex);

克努特,这太棒了。我拿走了你的东西,解决了我的问题。完整的解决方案发布在此处: