joice
joice

Reputation: 53

NumberFormatException for input String in datatable

I have the following method in my DAO where I retrieve a list of persons :

public List<Personne> getAllUsers() {

Query query = em.createQuery("SELECT p FROM Personne p where TYPE(p) =Utilisateur");
@SuppressWarnings("unchecked")
List <Personne> personnes =  query.getResultList();
return personnes;
    }

I want to show the list of persons in a datatable :

  <p:dataTable value="#{desacBean.users}" var="us" paginator="true" selection="#  {desacBean.selectedUser}" selectionMode="single" rowKey="#{desacBean.getId(us)}}"   first="1">           

         <p:ajax event="rowSelect" listener="#{desacBean.onUserSelect}"/> 

            <p:column>
                <f:facet name="n">
                    <h:outputText value="nom" />
                </f:facet>
                <h:outputText value="#{us.nom}"/>
            </p:column>
            <p:column>
                <f:facet name="header">
                    <h:outputText value="prenom" />
                </f:facet>
                <h:outputText value="#{us.prenom}"/>
            </p:column>
         </p:dataTable>

my BEAN :

@ManagedBean(name="desacBean")
@SessionScoped
public class DesactiveBean implements Serializable{


private static final long serialVersionUID = 1L;
private List<Personne> users = new ArrayList<Personne>();
private  Personne selectedUser;
private boolean panelRendered;
UserDAO daoUser = new UserDaoImpl();

    public void rowSelect(SelectEvent event){
    selectedUser =  (Personne)event.getObject();
    System.out.println("selectedUser = "+selectedUser.getNom_ut()); 
    this.panelRendered = true;
   }
   public int getId(Personne car)
   {
   return System.identityHashCode(car);
   }

   public void onUserSelect(SelectEvent event){ 
    this.selectedUser =  (Personne)event.getObject();
    System.out.println("selectedUser = "+selectedUser.getNom_ut());

  }

I have the following error when trying to show this dataTable :

java.lang.NumberFormatException: For input string: "prenom"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
    For input string: "prenom"

how can I fix it?

Upvotes: 3

Views: 6894

Answers (1)

R&#233;gis Augusto
R&#233;gis Augusto

Reputation: 1

I had the same problem and the solution was as follows:

My dataTable was for single select but it pointed to a list

<p:dataTable selection="#{controller.list}" rowKey="#{obj.id}"

I changed it to:

<p:dataTable selection="#{controller.object}" rowKey="#{obj.id}"

And it worked!

Upvotes: 0

Related Questions