Xpages:如何只获取分类视图的第一条记录

Xpages: How to get only the first record of a categorised view

我正在执行一个 while 循环以获取分类视图中的记录。 我只想 return 满足 if 条件的第一条记录而不是整个类别。 下面的代码 return 是类别中通过 'if' 条件的所有记录。

var vView:NotesView = database.getView("Document");
var doc:NotesDocument = vView.getFirstDocument();
while(doc != null){ 
  if(doc.getItemValueString("Status") == 'Live'){
      //get the first in the category here where condition is met
      var pVersion = doc.getItemValueString("Version");
      var pPro = doc.getItemValueString("Pro");
  }
  var tmpDoc:NotesDocument = vView.getNextDocument(doc);
  doc.recycle();
  doc = tmpDoc;
}

查看下方:

箭头显示我想要return的记录。

你看过 notesviewnavigator class 了吗?

您的图形表明您想要每个类别中满足条件的第一个文档?

针对提问的问题:

var continueSearch = true
 while(doc != null && continueSearch) {
       if(...) {
            ...
            continueSearch = false;
        }
   ...
    }

应该就可以了

找到文档后尝试跳出循环:

var vView:NotesView = database.getView("Document");
var doc:NotesDocument = vView.getFirstDocument();
var done = false;
while(doc != null && !done){ 
  if(doc.getItemValueString("Status") == 'Live'){
      //get the first in the category here where condition is met
      var pVersion = doc.getItemValueString("Version");
      var pPro = doc.getItemValueString("Pro");
      done = true;
  }
  var tmpDoc:NotesDocument = vView.getNextDocument(doc);
  doc.recycle();
  doc = tmpDoc;
}
       var vView:NotesView = database.getView("Document");
       var doc:NotesDocument = vView.getFirstDocument();
       var product;
       while(doc != null){
            if(product != doc.getItemValueString("Product")){
              //get only the first in the category
              var pVersion = doc.getItemValueString("Version");
              var product = doc.getItemValueString("Product");
            }
       var tmpDoc:NotesDocument = vView.getNextDocument(doc);
       doc.recycle();
       doc = tmpDoc;
       }