在Java中使用组合框选择项时更新JTable

时间:2015-06-17 10:46:16

标签: java mysql swing combobox

我编写了自动建议的comboBox,它从SQL数据库中检索数据。它很成功。

然后作为下一步,我希望完成这些功能,

*当用户选择" ItemID"来自comboBox (当用户键入ItemID的第一个字母时,建议列表出现,用户可以选择aItemID - 成功编码), JTable " ItemID& #34;与该特定" ItemID"相关的列和其他列;必须从数据库更新。

我将updateTable()方法编码如下;

private void updateTable(){
String existID = (String) IDcombo.getSelectedItem();
String sql = "select * from druginfo WHERE ItemId LIKE '"+existID+"%'";
try {
    PreparedStatement pst = conn.prepareStatement(sql);
    ResultSet rs = pst.executeQuery();
    saleTable.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException ex) {
   JOptionPane.showMessageDialog(null, ex);
} }

1 个答案:

答案 0 :(得分:0)

你的tablemodel需要根据事件开火。如果只有表数据发生变化,那么它应该触发fireTableDataChanged()。如果数据和结构都发生了变化,那么它应该触发fireTableStructureChanged()。您可以参考document

如果您仍然遇到此问题,一种方法是在您的桌子上调用重绘,但这不是一种非常好的做事方式。