Das Sortieren wird auf der Original-Liste
ausgeführt. Wenn diese schreibgeschützt ist, wird eine Exception ausgelöst. Probieren Sie dasselbe, aber mit einer regulären, veränderlichen Liste
BEARBEITEN: Erstellen Sie eine reguläre Liste im Bean:
public class MyBean {
...
List myList = new ArryList();
myList.add(new MyObject("a"));
myList.add(new MyObject("b"));
myList.add(new MyObject("c"));
...
verwenden Sie dann das Sortieren wie folgt: value="#{myBean.myList}" var="myVar" sortBy="#{myVar.stringProp}"
BEARBEITEN2: Wenn die Sortierparameter Strings oder Zahlen sind, müssen Sie nichts anpassen. Wenn Sie etwas anderes sortieren, müssen Sie eine benutzerdefinierte sortFunction definieren.
Wenn Sie erweiterte Optionen wie Lazy Loading verwenden (das übrigens in pf 3.2 kaputt ist - Sie können jetzt auf 3.3 aktualisieren - es wurde am 29.5 veröffentlicht und behauptet, dieses Problem gelöst zu haben), müssen Sie ein benutzerdefiniertes Modell definieren, das sich um Filterung und Sortierung selbst kümmert.
Wenn Sie Ihre Daten nach dem Inhalt eines Arrays sortieren möchten, müssten Sie das Attribut sortFunction="#{myBean.sortData()}"
definieren