我有一个带有可编辑列selectedProductsTable
的TableView quantityColumn
。
我希望在用户编辑列后获取值。方法被调用没有问题,但我不知道如何获取值。
@FXML
private TableView selectedProductsTable;
@FXML
private TableColumn quantityColumn;
.......
@Override
public void initialize(URL url, ResourceBundle rb) {
selectedProductDataList = FXCollections.observableArrayList();
quantityColumn.setCellFactory(TextFieldTableCell.forTableColumn());
}
@FXML
public void onEditCommitSelectedProductTable( ){
// this method fires when user press enter after finish editing "Quantity" column value.
// how to get Edited value
}
我在方法中向表中添加值,在按钮单击中调用。 image of GUI
答案 0 :(得分:2)
onEditCommit
处理程序将CellEditEvent
对象作为其参数,其中包含有关事件的信息,包括新值。所以你可以做到
@FXML
public void onEditCommitSelectedProductTable(CellEditEvent<?,?> event){
Object newValue = event.getNewValue();
// other data that might be helpful:
TablePosition<?,?> position = event.getTablePosition();
int row = position.getRow();
// etc ...
}