我编写了自动建议的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);
} }
答案 0 :(得分:0)
你的tablemodel需要根据事件开火。如果只有表数据发生变化,那么它应该触发fireTableDataChanged()。如果数据和结构都发生了变化,那么它应该触发fireTableStructureChanged()。您可以参考document
如果您仍然遇到此问题,一种方法是在您的桌子上调用重绘,但这不是一种非常好的做事方式。