日期:2014-05-20  浏览次数:20700 次

JSP动态显示列(用户可以根据需求显示列)(方案或代码)
由于货品资料字段太多 客户要根据需求显示列
菜鸟求教

------解决方案--------------------
这是展示到swing中, 你仿照这么做。
Java code

public JTable createTableFromSQL(Connection connection,String sql , Object[] name)throws Exception{
        Statement stmt = connection.createStatement(
            ResultSet.TYPE_SCROLL_INSENSITIVE,// 对滚动不敏感,结果集可滚来滚去
            ResultSet.CONCUR_READ_ONLY);// 只能够读取里边的内容,
        ResultSet rs = stmt.executeQuery(sql);//开始执行查询语句,结果存储在rs中
        rs.last();// 指到定位到最后一行
        int row = rs.getRow();// 获得总行数
        rs.beforeFirst();// 定位到开始
        ResultSetMetaData rsmd1 = rs.getMetaData();// 计算字段个数
        int col = rsmd1.getColumnCount(); // 计算字段个数
        Object a[][] = new Object[row][col];//确定表格存储数据的大小
        JTable jTable = new JTable(a, name);//建立表格
        for (int index = 0; rs.next(); index++)//使用查询返回的结果初始化表格
        for (int j = 0; j < col; j++)
            a[index][j] = rs.getString(j + 1);
    return jTable;
    }

------解决方案--------------------
建个类,如下,一个列就是一个对象
 
Java code

public class Field{
    private String name;
    private String value;
    setter/getter
}

------解决方案--------------------
Java code


//输入:connection对象,sql语句,由结果各字段名组成的name数组

------解决方案--------------------
探讨
Java code


//输入:connection对象,sql语句,由结果各字段名组成的name数组

------解决方案--------------------
探讨

引用:
Java code


//输入:connection对象,sql语句,由结果各字段名组成的name数组

如果,需要改变显示的列,你还得改代码!!