#xpages
#xpages
Вопрос:
На моей Xpage у меня есть критерии поиска в верхней части страницы и представление внизу. Пользователь выберет некоторые критерии поиска, а затем нажмет поиск, и я выполняю поиск FT в представлении.
Я хочу избежать загрузки представления при первом открытии xpage, поскольку это занимает много времени. Как я могу это сделать?
Ответ №1:
Используйте свойство rendered вашего элемента управления view. Верните false для отображаемого свойства, если поле поиска пустое, и верните true, если оно заполнено.
Пример:
<xp:inputText
id="inputText1"
value="#{viewScope.search}">
</xp:inputText>
<xp:button
value="Search"
id="button1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="viewForSearch">
</xp:eventHandler>
</xp:button>
<xp:panel
id="viewForSearch">
<xp:viewPanel
rows="30"
id="viewPanel1"
rendered="#{javascript:viewScope.search}">
... pager ... view ... columns ...
</xp:viewPanel>
</xp:panel>
Поле поиска хранится в переменной области представления «поиск». Если оно пустое, то rendered="#{javascript:viewScope.search}"
возвращает false, и представление не отображается. Как только пользователь вводит строку поиска и нажимает кнопку поиска #{javascript:viewScope.search}
, возвращается true, и view становится видимым.
Частичное обновление панели управления представлением, нажав на кнопку поиска.
Комментарии:
1. Потрясающе. Это сработало отлично. Большое вам спасибо.