0

我有一个从数据库填充组合框的方法。它使用医生 ID 来填充它。问题是,当我将 ID 更改为另一个人而不是清除组合框然后再次填充它时,它只会添加到列表的末尾。

public void FillTimings() {
    theapptTime.removeAllItems();
    theapptTime.repaint();

    String strDate = theTdate.getText().trim();

    String strDoctor = (String) theTstaffname.getSelectedItem();
    System.out.println(strDoctor);

    try {
        db.dbConnect();
        String docId = db.getdociD(strDoctor);
        ResultSet rs = db.getTimings(strDate, docId);

        while (rs.next()) {
            theapptTime.addItem(rs.getString(1));
            rs.close();
        }
    } catch (SQLException e1) {
        System.out.println("fail");
        e1.printStackTrace();
    }
}

那就是代码。

有人能帮我吗。

4

2 回答 2

0

尝试这个 :

DefaultComboBoxModel dt = (DefaultComboBoxModel) theapptTime.getModel();
dt.addElement("item 1");
于 2013-05-04T04:51:59.953 回答
0

你必须首先声明一个 DefaultComboBoxModel

    DefaultComboBoxModel dt=new DefaultComboBoxModel();

将您的组合框模型设置为此模型

    theapptTime.setModel(dt);

代码中的下一步将其更新为

    db.dbConnect();
    String docId = db.getdociD(strDoctor);
    ResultSet rs = db.getTimings(strDate, docId);
    dt.removeAllElements();
    while (rs.next()) {
        dt.addElement(rs.getString(1));
        rs.close();
    }

它会工作的!干杯!!

于 2012-04-09T10:17:14.123 回答