如何在不更改jTable的默认列名的情况下将ResultSet数据添加到JTable

时间:2013-02-16 15:39:39

标签: java swing jtable resultset

我有以下课程:

public class customer_master extends javax.swing.JInternalFrame {

    Connection con = null;
    PreparedStatement ps = null;
    ResultSet rs = null;

    JFrame parent;
    public customer_master(JFrame parent) {

        this.parent=parent;
        initComponents();

        try {
            String qry="select customer_code, customer_name, customer_address, customer_created_time from customer";
            database.JavaConnect jc= new JavaConnect(); 
            con = jc.ConnectDB();
            ps = con.prepareStatement(qry);
            rs = ps.executeQuery();
            jTable1.setModel(DbUtils.resultSetToTableModel(rs));
            con.close();
        }
        catch(SQLException e)
        {
            JOptionPane.showMessageDialog(null, e);
        }
    }    
}

它也会更改列的名称,但我想添加rs而不更改列名称,如果任何人可以帮助的话。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您的问题意味着您使用新的ResultSet重新编译和现有的JTable。因此,当您第一次创建JTable并为每个需要添加的列指定名称时:

JTable table = new JTable(...);
table.setAutoCreateColumnsFromModel( false );

这将告诉表不要重新创建TableColumnModel,因此所有列和自定义渲染器和编辑器都将保留。

答案 1 :(得分:0)

只需更改查询

  

字符串qry =“选择客户代码,客户名称,客户地址,                客户的customer_created_time”;

  

字符串qry =“选择客户代码 AS客户代码 ,客户名称 AS客户名称 ,客户地址 AS客户地址 ,                客户提供的customer_created_time AS DOJ ”;

那么您就很好了。