jsf - primefaces + java + mysql -


i have problem. here code (edited):

<?xml version="1.0" encoding="utf-8"?> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"  "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml"          xmlns:h="http://java.sun.com/jsf/html"       xmlns:f="http://java.sun.com/jsf/core"       xmlns:ui="http://java.sun.com/jsf/facelets"        xmlns:p="http://primefaces.org/ui"       >      <h:head>                 <title>osszesito</title>                     <meta http-equiv="content-type" content="text/html; charset=utf-8"/>                                     <link rel="stylesheet" type="text/css" href="style.css"/>                 </h:head>      <ui:debug />     <h:form>      <p:fieldset legend="osszesito:">           <p:datatable id="datatable" value="#{osszesitobean.values}" var="c" paginator="true" rows="25" editable="true" filteredvalue="#{osszesitobean.filteredosszesito}>              <p:ajax event="rowedit" listener="#{osszesitobean.update(event)}"/>                         <p:column>                             <f:facet name="header">id:</f:facet>                             <h:outputtext value="#{c.id}"/>                                                                                      </p:column>                                      <p:column filterby="#{c.kod}" filtermatchmode="contains>                             <f:facet  name="header">kod:</f:facet>                                                                                                         <h:outputtext value="#{c.okod}"/>                                                                                     </p:column>                          <p:column headertext="edit">                             <p:roweditor/>                         </p:column>                          <p:column filterby="#{c.name}" filtermatchmode="contains>                             <f:facet name="header">name:</f:facet>                                                                             <h:outputtext value="#{c.name}"/>                                                     </p:column>                                     .                         .                         .                         .         </p:datatable>      </p:fieldset>      </h:form>    </html>  

here java set , class:

import org.apache.poi.hssf.usermodel.hssfsheet; import org.apache.poi.hssf.usermodel.hssfworkbook; import org.apache.poi.ss.usermodel.cell; import org.apache.poi.ss.usermodel.cellstyle; import org.apache.poi.ss.usermodel.indexedcolors; import org.apache.poi.ss.usermodel.row;  public class osszesitosetget {     private int id;        private string kod;    private string name;           .    .    .    .  public int getid() {         return id;     }      public void setid(int id) {         this.id = id;     }      public string getkod() {         return kod;     }      public void setkod(string kod) {         this.kod = kod;     }      public string getname() {         return name;     }      public void setname(string name) {         this.name = name;     }     .     .     .     .      public void postprocessxls(object document) {          hssfworkbook wb = (hssfworkbook) document;         hssfsheet sheet = wb.getsheetat(0);         cellstyle style = wb.createcellstyle();         style.setfillbackgroundcolor(indexedcolors.aqua.getindex());           (row row : sheet) {             (cell cell : row) {                 cell.setcellvalue(cell.getstringcellvalue().touppercase());                 cell.setcellstyle(style);              }         }      }  } 

here bean class (edited):

import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.util.arraylist; import java.util.list; import javax.annotation.postconstruct; import javax.faces.bean.managedbean; import javax.faces.bean.sessionscoped; import org.primefaces.event.roweditevent;   @managedbean @sessionscoped  public class osszesitobean {      string url = "jdbc:mysql://ip:3306/osszesito?useunicode=yes&characterencoding=utf-8";     string user = "user";             string password = "password";     string driver = "com.mysql.jdbc.driver";       private list<osszesitosetget> values;     private list<osszesitosetget> filteredosszesito;      @postconstruct     public void init() {         try {             values = selectteszttable();         } catch (sqlexception e) {               e.printstacktrace();             }     }       public connection getdbconnection() {          connection dbconnection = null;          try {              class.forname(driver);             dbconnection= drivermanager.getconnection(url, user, password);             system.out.println("connection completed.");          } catch (sqlexception e) {               system.out.println(e.getmessage());           }catch(classnotfoundexception cnfe){             cnfe.printstacktrace();            system.out.println(cnfe.getmessage());            system.exit(-1);         }          return dbconnection;      }        public list<osszesitosetget> selectteszttable() throws sqlexception{          resultset rs = null;         preparedstatement pst = null;         connection con = getdbconnection();          string stm = "select * teljes_osszesito";          list<osszesitosetget> records = new arraylist<osszesitosetget>();           try {              pst = con.preparestatement(stm);             pst.execute();             rs = pst.getresultset();           while(rs.next()){              osszesitosetget objectmeghiv = new osszesitosetget();              objectmeghiv.setid(rs.getint(1));                         objectmeghiv.setkod(rs.getstring(2));              objectmeghiv.setname(rs.getstring(3));              .             .             .             .             .             records.add(objectmeghiv);           }           return records;           }catch (sqlexception e) {             e.printstacktrace();                  }catch (exception e) {             e.printstacktrace();                  }finally{              rs.close();             pst.close();                         con.close();       }        return records;      }       public list<osszesitosetget> getvalues() {           return values;       }        public void update(roweditevent event) {          osszesitosetget edittedobject = (osszesitosetget) event.getobject();                  connection connection = null;         preparedstatement pst = null;         resultset rs = null;          string sql = "update teljes_osszesito set kod=?, name=?, .......... id=?";          try{              connection = getdbconnection();                                                                                    pst = connection.preparestatement(sql);               pst.setstring(1, edittedobject.getkod());             pst.setstring(2, edittedobject.getname());             .             .             .             .             pst.setint(28, edittedobject.getid());              pst.executeupdate();             pst.close();             connection.close();          }catch(sqlexception se){             se.printstacktrace();             se.getmessage();          }catch(exception e){              e.printstacktrace();              e.getmessage();          }           }  public list<osszesitosetget> getfilteredosszesito() {     return filteredosszesito; }  public void setfilteredosszesito(list<osszesitosetget> filteredosszesito) {     this.filteredosszesito = filteredosszesito; }  } 

the codes work, when filter column, name column doesn't work, kod column filter work. number colums work, name/string columns doesn't work.

why doesn't work name column filter?

thank

you need set filteredvalue object on bean.

filteredvalue="#{osszesitobean.filteredvalues}"  (on p:datatable)  private list<osszesitosetget> filteredvalues; (on java bean, + getters/setters) 

refer to: http://www.primefaces.org/showcase/ui/datatablefiltering.jsf


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -