I can't sort dataTable in primefaces 3.5
I want to sort a dataTable in primefaces 3.5. When I click on the column
header - it seems to be clicked clicked (the background and the arrow
changes its colour) - but the table is not sorting. Here's my code:
Bean (I also tried putting the code from @PostConstruct to the
constructor, but then I get NullPointerException):
package view;
import entity.Klient;
import facade.KlientFacade;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.inject.Named;
import javax.enterprise.context.Dependent;
import javax.faces.bean.ViewScoped;
import static util.Messages.addFlashMessage;
@Named(value = "manageClient")
@Dependent
@ViewScoped
public class ManageClient implements Serializable {
private List<Klient> clientList;
@EJB
private KlientFacade klientFacade;
public List<Klient> returnClientList(){
return getKlientFacade().findAll();
}
@PostConstruct
public void init(){
clientList = new ArrayList<>();
clientList = returnClientList();
}
public ManageClient() {
}
public String removeClient(Klient klient){
addFlashMessage("Klient ["+klient.getLogin()+"] zosta³ usuniêty.");
getKlientFacade().remove(klient);
return "manage";
}
public List<Klient> getClientList() {
return clientList;
}
public void setClientList(List<Klient> clientList) {
this.clientList = clientList;
}
public KlientFacade getKlientFacade() {
return klientFacade;
}
public void setKlientFacade(KlientFacade klientFacade) {
this.klientFacade = klientFacade;
}
}
xhtml:
<p:dataTable paginator="true" rows="10" var="klient"
value="#{manageClient.clientList}">
<p:column sortBy="#{klient.idKlienta}"
headerText="ID">
<h:outputText value="#{klient.idKlienta}" />
</p:column>
<p:column sortBy="#{klient.imie}"
headerText="Imiê">
<h:outputText value="#{klient.imie}" />
</p:column>
<p:column sortBy="#{klient.nazwisko}"
headerText="Nazwisko">
<h:outputText value="#{klient.nazwisko}" />
</p:column>
<p:column sortBy="#{klient.login}"
headerText="Login">
<h:outputText value="#{klient.login}" />
</p:column>
<p:column sortBy="#{klient.haslo}"
headerText="Has³o">
<h:outputText value="#{klient.haslo}" />
</p:column>
<p:column sortBy="#{klient.idTypu.typ}"
headerText="Typ">
<h:outputText value="#{klient.idTypu.typ}" />
</p:column>
<p:column headerText="Usuñ">
<h:commandButton value="Usuñ"
action="#{manageClient.removeClient(klient)}"
/>
</p:column>
</p:dataTable>
No comments:
Post a Comment