我正在尝试显示更详细的列标题,而不使用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));
}
但它仍然显示数据库表列名。
答案 0 :(得分:4)
猜猜你正在使用DbUtils
,我会想到一些事情:
为每个所需的列使用SQL别名,而不是通配符,例如
SELECT column_name AS alias_name;
在TableModel
使用任何可用的API创建之后更新DbUtils.resultSetToTableModel()
。
答案 1 :(得分:2)
如果DbUtils没有提供API来更改列值,那么您应该能够使用标准表类:
TableColumnModel tcm = table.getColumnModel();
TableColumn tc = tcm.getColumn(...);
tc.setHeaderValue( "..." );