Xpages: Как получить только первую запись по категориям - PullRequest
0 голосов
/ 06 марта 2020

Я делаю некоторое время l oop, чтобы получить записи по категориям. Я хочу вернуть только первую запись, которая соответствует условию 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;
}

Просмотреть ниже:

enter image description here

Стрелка показывает записи, которые я хотел бы вернуть.

Ответы [ 3 ]

2 голосов
/ 06 марта 2020

Ваши графики c предполагают, что вы хотите, чтобы первый документ в каждой категории соответствовал условию?

На вопрос, который задан:

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

Это должно сделать

1 голос
/ 06 марта 2020

Попробуйте вырваться из l oop, как только найдется do c:

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;
}
1 голос
/ 06 марта 2020

Вы смотрели на класс notesviewnavigator?

...