我编写了自动建议comboBox的代码,该comboBox从SQL数据库中检索数据。
然后,下一步,我希望完成这些功能,
*当用户从comboBox中选择一个“ ItemID”时(当用户键入ItemID的第一个字母时,会出现建议列表,并且用户可以选择一个成功编码的 ItemID),JTable的“ ItemID”列以及与该特定“ 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);
} }
那么您的表模型需要根据事件触发。如果仅更改表数据,则应触发fireTableDataChanged()。如果数据和结构均发生更改,则应触发fireTableStructureChanged()。您可以参考该文件
如果您仍然遇到问题,一种方法是在表上调用repaint,但这不是一种很好的处理方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句