load()
метод LazyDataModel
вызывается и успешно завершается. Отображается dataTable
, но единственная проблема в том, что вся страница заблокирована, кнопки не дают никакого ответа, кроме того, который выполняет JavaScript.PrimeFaces LazyDataModel вся страница заблокирована после рендеринга dataTable
Я думаю, что есть что-то с Ajax, а AjaxStatus показывает, что что-то загружается, но загружать нечего.
Я использую PrimeFaces 3.4.2 с Mojarra 2.1.6
вот мой .xhtml, в options.xhtml еще один час: форма объявлена
<ui:include src="options.xhtml" />
<h:form id="display">
...
<p:dataTable id="resultsTable" value="#{index.lazyModel}"
var="searchResult" rows="10" paginator="true" emptyMessage=""
paginatorPosition="bottom" lazy="true"
rendered="#{empty index.lazyModel ? false : true}">
<p:column>
<h:panelGrid columns="1">
<h:panelGrid columns="2">
<h:outputLink value="#{searchResult.url}">
<h:outputText value="#{searchResult.title}" />
</h:outputLink>
<h:outputText value="#{searchResult.category}" />
</h:panelGrid>
<h:outputText value="#{searchResult.kwic}" />
</h:panelGrid>
</p:column>
</p:dataTable>
<p:graphicImage value="/resources/welcome.gif"
rendered="#{empty index.lazyModel}" styleClass="welcome" />
</h:form>
Метод загрузки в LazyDataModel в :
@Override
public List<Result> load(int first, int pageSize, String sortField,
SortOrder sortOrder, Map<String, String> filters) {
// rowCount
int dataSize = searchResults.size();
this.setRowCount(dataSize);
List<Result> temp = null;
// paginate
if (dataSize > pageSize) {
try {
temp = searchResults.subList(first, first + pageSize);
} catch (IndexOutOfBoundsException e) {
temp = searchResults.subList(first, first
+ (dataSize % pageSize));
}
} else {
temp = searchResults;
}
return searchHandler.classify(temp);
}
Любые идеи или предложения были бы высоко оценены.
Заранее спасибо.
который форма вы имеете в виду? потому что, как я знаю, нет конкретной формы PrimeFaces. – ReDy
Ну, я работал с RichFaces и с Ajax, и была форма a4j:, которая всегда помогала нам при работе с компонентами из RichFaces и/или Ajax ... поэтому я думаю, что я не правильно указал форму от PrimeFaces .. извините :) ... но так или иначе, это просто длинный выстрел – Uvedenrodee
спасибо в любом случае, за вашу попытку – ReDy