Javascript 如何将已分类的列总计从视图列获取到XPageTotal值

Javascript 如何将已分类的列总计从视图列获取到XPageTotal值,javascript,xpages,lotus-domino,Javascript,Xpages,Lotus Domino,我需要获取视图根据文档Id分类的列的总和。我能够使用以下代码获取整个列的总和: var myView:NotesView = database.getView("totalScore") var nav:NotesViewNavigator = myView.createViewNav(); var entry:NotesViewEntry = nav.getLast(); return entry.getColumnValues()[7]; 但是我需要一个特定类别的总和,我怎样才能得到每个类

我需要获取视图根据文档Id分类的列的总和。我能够使用以下代码获取整个列的总和:

var myView:NotesView = database.getView("totalScore")
var nav:NotesViewNavigator = myView.createViewNav();
var entry:NotesViewEntry = nav.getLast();
return entry.getColumnValues()[7];

但是我需要一个特定类别的总和,我怎样才能得到每个类别的总和呢

您可以用同样的方法获得类别总数

var myView:NotesView = database.getView("totalScore")
var nav:NotesViewNavigator = myView.createViewNav();

// Assuming this is a categorized view, so the first entry is a category
var entry:NotesViewEntry = nav.getFirst();

while (entry!=null) {
    // column-zero assumed to be a category
    print(entry.getColumnValues()[0] + ": " + entry.getColumnValues()[7]);

    var tmpEntry:NotesViewEntry = nav.getNextCategory();
    entry.recycle();
    entry=tmpEntry;
}

最后一个元素将是总计,其中
entry.getColumnValues()[0]
将为空。

感谢您的帖子,但我需要根据打开的文档返回特定类别的总计,而不是所有类别相同的想法适用。您可以通过此循环导航类别并获得所需内容。我是否误解了你的问题?也许你应该给出一个例子。视图是一个响应文档,为什么类别是父文档Id,所以我想当父文档打开时,我的计算字段应该返回与他相关的响应的基本总数。你可以使用内置的lotus script函数进行求和,您所需要做的就是指定列,正如您在上面的代码中看到的那样。
function getColumnSum(){
    try {
        var unid = param.documentId;
        var columnData = @DbLookup(@DbName(), "totalScore", unid, 8);
//column to be summed: counting from 1 will give you 8 instead of [7];
        if(columnData != null){
            var columnSum = @Sum(columnData).toFixed(0);
            return " " + columnSum;
        }else{
            return " " + "0";
        }
    }catch(e){
        print(e.toString());
    }
}
getColumnSum();