Primefaces Datalist Paginierung

Ich bin mit einem datalist mit Ajax Paginierung und die erste Seite lädt fein, zeigt, 5 Ergebnisse. Es weiß, ich habe 3 Seiten im Wert von Ergebnissen, aber wenn ich durch das klicken auf die zweite/Dritte Seiten, bekomme ich eine leere Liste.

Mein Modell erweitert LazyDataModel und das erste mal, meine Seite lädt, kann ich einen Haltepunkt auf die Methode load() und ich kann sehen, es ist zu Fragen, für die Ergebnisse, 1-5 das ist toll. Aber einen Klick auf 'Seite 2' nicht Ergebnis in einem anderen Aufruf der load-Methode (obwohl es tut Ergebnis in etwa 3 Anrufe meiner lazyDataModel Feld selbst (nicht nur der load-Methode drin).

Neu hier und trotz der Lektüre eine Menge auszuprobieren und verschiedene Dinge, die ich nicht verstehen kann, ganz, wie es funktionieren sollte. Als exemplarisches Beispiel scheint nicht ganz "complete", um mich.

Hier die relevantesten bits von meinem code (denke ich). Sorry wegen der Formatierung:

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

Diese Methode wird ausgeführt, jedes mal, wenn ich Sie auf nächste/Vorherige Seite
/**
* @return die lazyModel
*/
öffentliche LazyDataModel getLazyModel() {
zurück lazyModel;
}

Und das ist mein xhtml-Datei

          <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> 

Bin ich überfragt, so dass wirklich für jede Hilfe dankbar

PS ich habe eine @PostContruct annotation gibt es, weil es schien, zu sein ein guter Ort, um das setup, aber es könnte falsch sein, ich habe nicht gesehen, dass es auf andere Beispiele, aber dann konnte ich nicht bekommen, andere Beispiele dafür zu arbeiten entweder.

InformationsquelleAutor Richard | 2012-04-21

Schreibe einen Kommentar