我试图仅过滤从数据库读取的JComboBox的键入文本中包含的有效值。 例如,在DB中,我有“ Makindu”,“ Mombasa”。 如果我输入“ a”,则两个值都应同时出现,但如果我输入“ k”,则仅应显示Makindu。
我尝试在JComboBox事件上键入内容,但未过滤。 routecombo是我的jComboBox的名称。我已经在jCombobox键类型事件上尝试了以下代码,但是它不起作用。
try { con=DriverManager.getConnection("jdbc:sqlserver://SVR;databaseName=crmdb;user=sa;password=1234");
stm=con.createStatement();
result=stm.executeQuery("Select name from RouteMaster where name like '"+routecombo.getEditor().getItem()+"'");
while(result.next()){
routecombo.addItem(result.getString("name"));
}
}catch (SQLException ex){
JOptionPane.showMessageDialog(null,ex);
}
我希望组合框仅显示过滤的名称,具体取决于用户键入的内容。 查找随附的示例,说明预期的操作。 Expected FilterCombo