1

の重複エントリを防ぐ方法はJTable?

テーブルに重複データを入力するのをやめたい。以下のコードを試してみました。しかし、それは機能していません。私の最初の列名はitem id. だから私は使用しjtable.getValueAt(i, 1)ました。それは間違っています。

public void lordTable(JTable jtable, JTextField txtItemID, JTextField txtName, JTextField txtQty, JTextField txtUp) {
    String s = "";
    boolean exists = false;
    for (int i = 0; i < jtable.getRowCount(); i++) {
        s = jtable.getValueAt(i, 1).toString().trim();

        if (txtItemID.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Enter Invoice Details First");
        } else {
            if (txtItemID.getText().equals(s)) {
                exists = true;
                break;
            }
        }
    }
    if (!exists) {
        DefaultTableModel dd = (DefaultTableModel) jtable.getModel();
        Vector v = new Vector();
        v.add(txtItemID.getText());
        v.add(txtName.getText());
        v.add(txtQty.getText());
        v.add(txtUp.getText());
        Double val = (Double.parseDouble(txtUp.getText())) * (Double.parseDouble(txtQty.getText()));
        v.add(val);
        dd.addRow(v);
    } else {
        JOptionPane.showMessageDialog(null, "data already exist.");
    }
}
4

1 に答える 1