如何在tableview中编辑并将其保存在数据库

时间:2017-04-13 15:12:28

标签: java mysql class javafx tableview

我有一个带有列

的tableview
private TableView<User> dgv_user;
    @FXML
    private TableColumn<User,String> id;
    @FXML
    private TableColumn<User, String> nom;
    @FXML
    private TableColumn<User, String> prenom;
    @FXML
    private TableColumn<User, String> cin;
    @FXML
    private TableColumn<User, String> dn;
    @FXML
    private TableColumn<User, String> tel;
    @FXML
    private TableColumn<User,String> adresse;

和类用户

public class User {

    private int id;
    private  String nom;
    private  String prenom;
    private  String cin;
    private  String tel;
    private  String adresse;
    private  String dn;

所以我想编辑tableview,当我点击按钮

时,这些数据会发送到数据库

1 个答案:

答案 0 :(得分:0)

> public void initialize(URL url, ResourceBundle rb) {
    >        nom.setCellFactory(TextFieldTableCell.<User>forTableColumn());
    >        prenom.setCellFactory(TextFieldTableCell.<User>forTableColumn());
    >        cin.setCellFactory(TextFieldTableCell.<User>forTableColumn());
    >        dn.setCellFactory(TextFieldTableCell.<User>forTableColumn());
    >        adresse.setCellFactory(TextFieldTableCell.<User>forTableColumn());
    >        tel.setCellFactory(TextFieldTableCell.<User>forTableColumn());
    >     }

并在tablecolumn sitoneditcomit

@FXML
    void edit_colnom(TableColumn.CellEditEvent<User, String> event) throws SQLException {
        User u= event.getRowValue();
        u.modifier_user("nom",event.getNewValue(), u.getId());      
    }

    @FXML
    void edit_colprenom(TableColumn.CellEditEvent<User, String> event) throws SQLException {
        User u= event.getRowValue();
        u.modifier_user("prenom",event.getNewValue(), u.getId());  
    }

    @FXML
    void edit_coltele(TableColumn.CellEditEvent<User, String> event) throws SQLException {
        User u= event.getRowValue();
        u.modifier_user("tele",event.getNewValue(), u.getId());  
    }


    @FXML
    void edit_coladresse(TableColumn.CellEditEvent<User, String> event) throws SQLException {
        User u= event.getRowValue();
        u.modifier_user("adresse",event.getNewValue(), u.getId());  
    }

    @FXML
    void edit_colcin(TableColumn.CellEditEvent<User, String> event) throws SQLException {
        User u= event.getRowValue();
        u.modifier_user("cin",event.getNewValue(), u.getId());  
    }

    @FXML
    void edit_coldn(TableColumn.CellEditEvent<User, String> event) throws SQLException {
        User u= event.getRowValue();
        u.modifier_user("dn",event.getNewValue(), u.getId());  
    }