Lazy-laden von Daten mit rich:dataTable und Reich:dataTableScroller
Ich bin mit rich:dataTable
mit rich:dataTableScroller
. Und ich will nicht, laden alle meine Daten aus der DB beim initialisieren der Tabelle, weil ich sehr viele Datensätze. Ich will, dass rich:dataTableScroller
mir zeigen, real-Seite zählen, aber laden Seite nur auf, wenn ich schalte. Ich finde die Lösung hier
Aber ich will verwenden rich:dataTable
undrich:dataTableScroller
, und nicht Schreibe meine eigenen Komponenten. Haben jemand ein paar Ideen ?
InformationsquelleAutor | 2009-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie erstellen Sie eine benutzerdefinierte
org.richfaces.model.DataProvider
, und ingetItemsByRange
Sie Holen sollten Daten nur in begrenztem Umfang.Sie sollten dann die Konstruktion eines
ExtendedTableDataModel
indem Sie Ihre benutzerdefiniertenDataProvider
, und verwenden Sie dieses Modell in Ihre<rich:dataTable>
-value="#{myBean.myExtendedDataModel}"
InformationsquelleAutor Bozho
Können Sie erstellen Sie Ihre eigenen "PagedDataModel", welche eigentlich gibt nur die Daten, die angezeigt wird, in die Seite, die Sie sehen.
Ich gefunden habe, ein Beispiel für diese hier.
InformationsquelleAutor Markos Fragkakis
Schreiben Sie Ihre eigene datamodel als Kind von richfaces ExtendedDataModel, das hat Methode:
protected List<T> loadData(int offset, int limit, List<Order> orders)
Er meinte, dass "Ihre eigene" datamodel sollten Sie diese Methode. Ähnlich wie
ScrollableTableDataModel
hat.und wenn er gerade definiert, die Methode, und niemand nennt es, es wäre sinnlos. Außerdem, das Letzte argument in
ScrollableTableDataModel
ist die Folge, nicht eine ListeInformationsquelleAutor MarrLiss