繁体   English   中英

Java-ResultSet更改Db列名称以显示在JTable中

[英]Java - ResultSet change Db column names to show in JTable

我正在使用rs2xml .jar将数据填充到表中。 这是我显示表列和数据的代码

ResultSet rs = stmt.executeQuery("select * from employees");

table_employees.setModel(DBUtiles.resultSetToTableModel(rs));

这段代码可以成功运行,但是我想重命名列。 我不想在表中显示数据库列。

您需要更新TableColumnTableColumnModel

TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(0).setHeaderValue("whatever you want");

或者,您可以在创建JTable时重写getColumnName(...)方法:

JTable table = new JTable( DBUtilities.resultSetToTableModel(rs)
{
    private String[] columnNames = 
    {
        "Column 1",
        "Column 2",
        "Column ..."
    };

    @Override
    public String getColumnName(int col) 
    {
        return columnNames[col];
    }
};

如果希望将DB值与java列名一起使用,可以考虑使用以下代码,并且可以使用jTable的TableModel属性在java中设置列名。

DefaultTableModel tmodel = (DefaultTableModel) jTable1.getModel();
tmodel.addRow(new Object[] {....});
jTable1.setModel(tmodel);

希望这可以帮助。

您可以根据需要从Sql查询中获取列名,例如

SELECT column name as 'Student Id', Column Name as 'Student name' FROM student;

查询将根据您的决定为您提供带有列名的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM