使用CSJS在Xpages中选择的文档数

时间:2018-07-17 10:28:49

标签: xpages lotus-notes

我在xpages中有一个查看面板,其中显示了针对每个文档的复选框,现在我想知道用户在csjs中选择了多少文档,因此我可以与用户确认要删除多少文档,相同的是警报消息的一部分(例如,您已选择10个文档?)

然后确认后,我将继续使用SSJS删除它们。

谢谢男人

2 个答案:

答案 0 :(得分:1)

如果您只想计算它们,则可以使用默认分配给CSS的选择器(除非您明确更改了它)来查看复选框:

function getSelectedCount() {
    var checkboxes = dojo.query(".xspCheckBoxViewColumn");
    var selectedCount = 0;
    for (var i = 0; i < checkboxes.length; i++) {
        //check if it is selected
        if (checkboxes[i].checked) selectedCount++;
    }
    return selectedCount;
}

如果您需要文档注释ID,则此查询返回的元素具有带有注释ID的“值”属性:

dojo.query(".xspCheckBoxViewColumn")[0].value // NoteID of first selected element

如果您需要选定ID的数组:

function getSelectedIds() {
    var checkboxes = dojo.query(".xspCheckBoxViewColumn");
    var selectedIds = new Array();
    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].checked) selectedIds = checkboxes[i].value;
    }
    return selectedIds ;
}

答案 1 :(得分:0)

我在ssjs中做类似的事情。 sessionScope变量存储选择时的注释ID。计数显示在面板上。您使用一个对话框来确认要删除的文档。 代码示例:

        <xp:viewColumn
            id="viewColumn1"
            value="">
            <xp:checkBox
                text=""
                id="checkBox1">
                <xp:this.readonly><![CDATA[#{javascript:var v = rowData.getColumnValue("ChkInDate");
v == ""?false:true;}]]></xp:this.readonly>
                <xp:eventHandler
                    event="onclick"
                    submit="true"
                    refreshMode="partial"
                    refreshId="panelAction">
                    <xp:this.action><![CDATA[#{javascript:var rv = rowData.getNoteID();
var vector:java.util.Vector = sessionScope.get("Selected");
var idx = vector.indexOf(rv);
if(idx == -1){
    vector.addElement(rv);
}else{
    vector.removeElementAt(idx)
}
}]]></xp:this.action>
                </xp:eventHandler>
            </xp:checkBox>
            <xp:this.facets>
                <xp:viewColumnHeader
                    xp:key="header"
                    id="viewColumnHeader1"
                    style="text-align:center"
                    value="Select">
                </xp:viewColumnHeader>
            </xp:this.facets>
        </xp:viewColumn>