# JSF <rich:datatable> problem



## rico (28. Mai 2009)

Hallo,

Ich verwende eine <rich:datatable>, bei der die Sortierung und das Paging server-seitig passiert. In meiner Bean (Request-Scope) habe ich folgende Methode 

```
private DataModel entries;

...
public DataModel getEntries() {

if(entries == null) {
 //do paging/sorting

}

return entries;
```

Wenn ich nun sortieren möchte, dann wird die Methode 2 mal aufgerufen, wobei beim ersten Aufruf die Sortierkriterien noch nicht gesetzt worden sind und das "DataModel" nicht richtig initialisiert wird. 
Hat jemand eine Idee woran das liegt ?

Viele Grüße
Rico


----------



## maki (28. Mai 2009)

2-mal dieselbe Tabelle?


----------



## rico (28. Mai 2009)

Jap, 2 mal die selbe tabelle.

Im callstack ist es jedes mal die <rich:datatable>, die den Aufruf macht


----------



## maki (28. Mai 2009)

Würde sagen dass die Bean beim ersten mal noch cniht soweit ist bzw. richtig initialisiert worden ist, wo/wann passiert das denn?


----------



## rico (28. Mai 2009)

Das passiert beim sortieren. 
Ich habe in jedem Tabellen-Header ein Command-Link definiert.

Beispielsweise:

```
<a4j:commandLink action="#{dataList.sort}" reRender="datalist" ajaxSingle="true" immediate="true">
  <f:setPropertyActionListener target="#{dataList.sortBy}" value="name"/>
</a4j:commandLink>
```
Durch den Link wird dann das entsprechende Sortierkriterium gesetzt und wird dann bei getEntries() verwendet.


----------

