Mysql
 sql >> Datenbank >  >> RDS >> Mysql

In JavaFX, wie man eine Combobox mit Daten in der Tabellenansicht hinzufügt

Dies ist nur eine grundlegende Funktionalität. Wenn Sie doppelt auf das Zellen-Kombinationsfeld klicken, wird es sichtbar, dann können Sie den Wert auswählen. Um das direkte Kombinationsfeld anzuzeigen, müssen Sie eine eigene TableCell-Klasse schreiben Sieh dir das an, du wirst es verstehen . Ich hoffe, dies wird dir helfen. Jeder kann einen Kommentar posten

private void editable() {
    try {
        ObservableList<String> names = FXCollections.observableArrayList();
        ObservableList<Users> datas = FXCollections.observableArrayList();
        String sql = "select * from itemsadd";
        pst = gc.getConnection().prepareStatement(sql);
        rs = pst.executeQuery();
        while (rs.next()) {
            String name = rs.getString("itemcode");
            names.add(name);
            System.out.println("probs" + names);
        }
        ResultSet rs2 = gc.getConnection().createStatement()
                .executeQuery("SELECT * FROM itemsadd WHERE itemcode=1001");

        while (rs2.next()) {
            datas.add(new Users(rs2.getString("itemcode")));
        }
        c1.setCellValueFactory(new PropertyValueFactory("Itemc"));
        c1.setCellFactory(ComboBoxTableCell.forTableColumn(name));
        table.setEditable(true);
        table.getItems().clear();
        table.setItems(datas);
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println("Error on Building Data");
    }