这是一次令人伤脑筋的经历JTable
捆绑。这就是我所做的。我创建了一个JTable
将列设置为指定宽度,并使用以下命令对其进行格式化renderers
,并在其上添加了一些代码。但是当我尝试将其绑定到模型时,所有列都被模型的字段替换。有没有办法正确绑定呢?
我正在避免循环,因为数据库中有 100 多条记录。我正在尝试使用其他方法,例如BeansBinding
and EntityManager
但我不知道如何更改数据源(这就是为什么我选择将其绑定到模型)因为我正在测试它来备份数据库并很快将其实施到新服务器上。
这就是我所做的.Net
,我通常创建一个 datagridview 并将其绑定到数据集并且工作正常。但我不能将它应用到java上。我需要你的意见,我怎样才能用java来处理100+千条记录。
PreparedStatement pst = conn.prepareStatement("SQL Query here");
ResultSet rs = pst.ExecuteQuery();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
上面的代码工作正常,但我对此非常非常大的问题是它通过模型中的列覆盖了我的格式化列。
请帮我解决这个问题。
根据评论,您可以尝试将以下方法添加到DbUtils:
public static void updateTableModelData(DefaultTableModel tModel, ResultSet rs)
throws Exception {
tModel.setRowCount(0);
ResultSetMetaData metaData = rs.getMetaData();
while (rs.next()) {
Vector newRow = new Vector();
for (int i = 1; i <= numberOfColumns; i++) {
newRow.addElement(rs.getObject(i));
}
tModel.addRow(newRow);
}
}
然后你的代码将变成:
PreparedStatement pst = conn.prepareStatement("SQL Query here");
ResultSet rs = pst.ExecuteQuery();
DbUtils.updateTableModelData((DefaultTableModel) jTable1.getModel(), rs);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)