Ich versuche Multisort auf Primeface Datentabelle zu implementieren. Wir verwenden Primefaces v3.5. Ich habe eine neue Lade-Methode in der LazyLoadClass erstellt, die den Parameter List of SortMeta> verwendet.Initialsortierung für PrimeFaces Datatable mit Multisort
Aber ich habe Probleme in der Anfangslast der Tabelle. Die Liste von SortMeta> ist null, wenn die load-Methode aufgerufen wird. Ich habe auch versucht, ohne die anfängliche sortBy und sortOrder für die Datentabelle zu spezifizieren. In beiden Fällen ist das Ergebnis dasselbe.
Da wir diese neue Klasse SortMeta zur Unterstützung von Multisort haben, vermute ich, dass sich auch die Art und Weise geändert hat, das anfängliche Sortierfeld und Reihenfolge anzugeben. Aber ich konnte nirgends ein Beispiel finden, um auf den Unterschied hinzuweisen. Das Handbuch 3.5 erwähnt keinen Unterschied.
Warum könnten wir die Liste von SortMeta> als null erhalten? Irgendwelche Zeiger auf Beispielcode, wo Multisort mit Lazyload verwendet wird?
Sie müssen eine Liste von SortMeta zu sortBy bereitstellen. –
OK. Früher haben wir die Zeichenfolge mit dem Namen der Spalte angegeben, aber jetzt, wie ich es verstehe, binden wir sie an ein List Objekt auf der Bean. Vielen Dank! Werde es ausprobieren. –
@CagatayCivici Ich probierte '' und ich habe erstellt preSortOrder als 'private void buildSortOrder() { SortMeta sm1 = neu SortMeta(); \t \t sm1.setSortField ("resolvedDateTime"); m1.setSortOrder (SortOrder.DESCENDING); preSortOrder.add (sm1); \t \t \t } 'sondern ein NPE ist bcs die Methode encodeColumnHeader in DataTableRenderer geworfen zugreift UIColumn wie' sortIcon = resolveDefaultSortIcon (columnSortByVe, meta.getColumn(). GetValueExpression ("sortBy"), meta.getSortOrder(). Name()); ' –