1

我正在尝试显示更详细的列标题,而不使用DbUtils.resultSetToTableModel(). 这是我的代码:

ResultSet rs = null;
PreparedStatement pst = null;
String sql = "SELECT * From product";
String col[] = {"Product No", "Name", "Price", "QOH"};
DefaultTableModel dtm = new DefaultTableModel();
try {
    pst = conn.prepareStatement(sql);
    rs = pst.executeQuery();
    dtm.setColumnIdentifiers(col);
    ProductList_tbl.setModel(dtm);
    ProductList_tbl.setModel(DbUtils.resultSetToTableModel(rs));
}

但它仍然显示数据库表列名。

4

2 回答 2

4

猜测DbUtils您使用的是哪个,我想到了一些事情:

  • 为每个所需列使用 SQL 别名,而不是通配符,例如

    SELECT column_name AS alias_name;
    
  • 使用任何可用的 API在创建TableModel 更新它。DbUtils.resultSetToTableModel()

于 2013-02-15T15:43:12.477 回答
2

如果 DbUtils 不提供 API 来更改列值,那么您应该能够使用标准表类:

TableColumnModel tcm = table.getColumnModel();
TableColumn tc = tcm.getColumn(...);
tc.setHeaderValue( "..." );
于 2013-02-15T16:54:16.047 回答