У меня есть представление, определенное на xpage. У меня также есть несколько фильтров (основанных на столбцах), которые пользователь может выбрать и объединить для фильтрации результатов в представлении. Я создаю строку запроса на основе этого, которую я создаю в dominoView.search (выполняя полное обновление). То, что я хотел бы сделать, это получить результаты поиска, чтобы затем я мог обновить некоторые значения, отображаемые в другом месте на странице. Мне сложно определить, где я могу выполнить эту логику. Я пытаюсь использовать view.getAllEntries(), а затем итерацию по коллекции. Иногда кажется, что это работает, но в других случаях я, кажется, получаю нефильтрованное представление. Кто-то предположил, что я явно вызываю view.FTSearch внутри одного из событий (beforePageLoad?), И сразу после вызова getAllEntries, сохраняя результаты в viewScope, но я получаю сообщение об ошибке «Ошибка при просмотре заметок», когда я пытаюсь сделать это , Любые указатели? ТИА!Получение значений столбцов в отфильтрованном представлении xpages
EDIT: После изучения жизненного цикла xpages немного (что еще немного запутывает), я думаю, что смогу точно настроить свой вопрос. Это мой первый вопрос с использованием stackoverflow, поэтому я надеюсь, что это нормально делать и продуктивно ....
Как я описал, у меня есть dominoView, определенный на моей xpage. Повторение повторяется над строками представления, отображая определенные поля из документов. Если я определяю запрос в свойстве поиска, то повтор правильно отображает уменьшенный набор документов, а не полный набор. (Запрос вычисляется в свойстве поиска через SSJS из некоторых переменных, определенных в viewScope в eventHandler в combobox.) Однако, если я попытаюсь получить доступ к текущим записям в представлении внутри выделенного раздела повтора (с помощью SSJS) с помощью myView. getAllEntries (где myView - это то, что определено как «значение» повтора), я все еще получаю все документы, даже если запрос был выполнен. Похоже, что в этот момент переменная вида уже применяла свой поиск (поскольку повторение работает), так почему же разные результаты? Есть ли другой способ доступа к строкам представления? Чтобы усложнить это, это просто простой эксперимент, который может прояснить проблему; как я указывал ранее, я фактически не хочу получать доступ к данным представления в течение повтора, я хочу получить к нему доступ в разделах rendered или value некоторых комбобоксах, определенных перед повторением в файле xpage.
Я надеюсь, что имеет смысл теперь ....
EDIT # 2: Я забыл добавить, что если я вручную вызвать FTSearch (или FTSearchSorted) перед вызовом myView.getAllEntries, то я думаю, что я могу сделать это Работа. Просто не нужно делать это в дополнение к встроенному поиску.
Моя первоначальная попытка заключалась в вызове view.getAllEntries() в javascript, прикрепленном к выпадающим спискам, которые представляют доступные фильтры пользователю. Я фактически перебираю документы и извлекаю значения полей, связанные с этим фильтром combobox, сортируя их и вычисляя количество каждого значения, которое помещается в parens. Это очень похоже на фасетный поиск, который вы бы видели в Амазонке.Если пользователь выбирает второй фильтр, я, кажется, получаю все нефильтрованное представление, поэтому мне кажется, что мне нужно понять, когда выполняется поиск вида, и вставьте туда мой код. –