2012-04-21 6 views
1

저는 Ajax 페이지 매김과 함께 datalist를 사용하고 있습니다. 첫 페이지가 잘로드되어 5 개의 결과를 보여줍니다. 3 페이지 분량의 결과를 얻었으나 두 번째/세 번째 페이지까지 클릭하면 빈 목록이 표시됩니다.Primefaces Datalist 페이지 매기기

내 모델이 LazyDataModel을 확장하고 내 페이지가 처음로드 될 때 load() 메소드에 중단 점을 설정할 수 있으며 결과 1-5를 요청할 수 있습니다. 그러나 'page 2'를 클릭해도 load 메소드에 대한 다른 호출이 발생하지는 않습니다 (내 lazyDataModel 필드 자체에 대한 호출이 약 3 건 발생하지만).

많은 것을 읽었을지라도 여러 가지를 시도해 보았지만 어떻게 작동해야하는지 잘 이해할 수 없다. 쇼케이스 예제가 나에게 완전히 '완성 된 것'으로 보이지 않는다. 내 코드의 가장 관련이있는 부분은 다음과 같다.) 형식에 대한 유감.이 방법은 내가 다음/이전 페이지를 클릭 할 때마다 실행됩니까

@PostConstruct 
public void LoadData() { 
    lazyModel = new LazyDataModel<MessageboardThread>() { 

    @Override 
    public List<MessageboardThread> load(int first, int pageSize, String sortField, SortOrder so, Map<String, String> map) { 
    List<MessageboardThread> result = new ArrayList<MessageboardThread>(); 

    try { 
     result = mbDao.findAll(pageSize, first); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
    return result; 
    } 
}; 
getLazyModel().setRowCount(mbDao.count()); 
getLazyModel().setPageSize(pageSize); 
}  

/** * @return lazyModel */ 공개 LazyDataModel getLazyModel() { return lazyModel; }

그리고이은에 좋은 장소가 될 듯하기 때문에 내가 어떤 도움을 내가 거기 @PostContruct 주석을 넣어

PS에 대한 그래서 정말 감사 난처한 상황에 빠진거야

  <p:dataList value="#{messageboardBean.lazyModel}" var="thread" id="threads" 
       paginator="true" rows="5" effectSpeed="fast" 
       paginatorTemplate="{PreviousPageLink} {CurrentPageReport} {NextPageLink} {RowsPerPageDropdown}" 
       rowsPerPageTemplate="5,10,15" type="none" 
       paginatorPosition="bottom"> 

        <f:facet name="header"> 
         Conversations 
        </f:facet> 

        <p:column> 
         <h:outputText value="#{thread.title}" style="margin-left:10px" /> 
         <br /> 
        </p:column> 
      </p:dataList> 

내 XHTML 파일입니다 설정을해라. 그러나 그것이 틀릴 수 있었다, 나는 다른 어떤 예에서도 그것을 보지 못했다. 그러나 나는 다른 예제도 얻을 수 없었다.

답변

1

해결되었습니다. h : form 태그에 dataList 속성을 래핑하는 것을 잊었습니다. 지금은 잘 작동합니다.

+0

솔루션을 승인 된 것으로 표시하면 질문을 탐색하는 데 덜 혼란 스럽습니다. – Fallup

+0

내가 그렇게하면 – Richard