Я делаю поисковый запрос на viewPanel. Когда результаты отображаются в представлении, я хочу пропустить только возвращенные результаты и построить массив имен для каждой строки. У меня есть поле Name в первом столбце моего представления Xpage. Я попытался следующий:Получить значения столбца поиска (отфильтрованные) Просмотреть результаты
var viewControl = getComponent("namesPanel");
var view = viewControl.getDataModel().getDominoViewData().getDataObject();
var entries = view.getAllEntries();
var entry = entries.getFirstEntry();
var namesArray = [];
while(entry)
{
namesArray.push(entry.getColumnValues().elementAt(0));
entry = entries.getNextEntry();
}
getComponent("DisplayNames").setValue(namesArray);
Приведенных выше код возвращает каждый имени в серверном Notes просмотр независимо от моего поискового запроса. Я понимаю, что есть getAllEntriesByKey(), но мое представление Xpages фильтруется поиском, а не значениями столбца.
Есть ли способ построить массив значений столбцов только на отображаемых результатах в моем представлении после поиска? Спасибо за любые советы.
интересно, я просто сообщил об этом как об ошибке, прежде чем я увидел решение здесь http://www-10.lotus.com/ldd/ndsebetaforum.nsf/topicThread.xsp?action = openDocument & documentId = 173B8E2826C07E6285257B1A0058EBEA –
Я нашел проблему с этим методом. Кажется, что getRowCount() не возвращает правильное количество строк до тех пор, пока не будет отфильтровано представление: www-01.ibm.com/support/docview.wss?uid=swg1LO58916. Похоже, что он кэширует первые две «страницы» документов. Кто-нибудь знает способ обойти это? –
Попробуйте ViewPanelComponent.getEntryCount(), когда представление не фильтруется. В вашем случае temprows.getEntryCount() –