primefaces+java+mysql

primefaces+java+mysql,java,jsf,primefaces,filter,Java,Jsf,Primefaces,Filter,我有个问题。这是我编辑的代码: 这里是编辑的bean类: 代码可以工作,但是当我过滤某个列时,name列就不工作了,但是kod列过滤器可以工作。数字列有效,名称/字符串列无效 为什么不使用名称列过滤器 谢谢您需要在bean上设置filteredValue对象 filteredValue="#{OsszesitoBean.filteredValues}" (on your p:datatable) private List<OsszesitoSetGet> filteredValu

我有个问题。这是我编辑的代码:

这里是编辑的bean类:

代码可以工作,但是当我过滤某个列时,name列就不工作了,但是kod列过滤器可以工作。数字列有效,名称/字符串列无效

为什么不使用名称列过滤器


谢谢

您需要在bean上设置filteredValue对象

filteredValue="#{OsszesitoBean.filteredValues}"  (on your p:datatable)

private List<OsszesitoSetGet> filteredValues; (on your java bean, + getters/setters)

请参阅:

解释你对“不起作用”的意思您好!谢谢你的回答,我修改了我的代码,如上所示,但不起作用。你好,它起作用:,谢谢,我修改了我的代码,如上所示,
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());


        for (Row row : sheet) {
            for (Cell cell : row) {
                cell.setCellValue(cell.getStringCellValue().toUpperCase());
                cell.setCellStyle(style);

            }
        }

    }
 }
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 * from 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=?, .......... where 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;
}

}
filteredValue="#{OsszesitoBean.filteredValues}"  (on your p:datatable)

private List<OsszesitoSetGet> filteredValues; (on your java bean, + getters/setters)