2013-06-19 3 views
1

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); 
    } 

Любые идеи или предложения были бы высоко оценены.

Заранее спасибо.

ответ

0

Не может ли это помочь, если вы измените форму h: с формой из PrimeFaces? просто идее ...

+0

который форма вы имеете в виду? потому что, как я знаю, нет конкретной формы PrimeFaces. – ReDy

+0

Ну, я работал с RichFaces и с Ajax, и была форма a4j:, которая всегда помогала нам при работе с компонентами из RichFaces и/или Ajax ... поэтому я думаю, что я не правильно указал форму от PrimeFaces .. извините :) ... но так или иначе, это просто длинный выстрел – Uvedenrodee

+0

спасибо в любом случае, за вашу попытку – ReDy

Смежные вопросы