【发布时间】:2018-02-15 05:03:29
【问题描述】:
我已阅读this,但我无法清楚地看到答案。
我要做的是从 TableColumn 中获取单元格内的值,当我将值插入另一个单元格时计算...
一小段代码。
colExistenciaF.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter()));
colExistenciaF.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<Productos, Double>>() {
@Override
public void handle(CellEditEvent<Productos, Double> event) {
event.getTableView().getItems().get(event.getTablePosition().getRow())
.setExistencia(event.getNewValue());
// Code to place the calculated value in that other column
}
});
观察,我的“Existencia Actual”列是这样声明的:
@FXML
private TableColumn<Productos, Double> colExistenciaI;
还有“Existencia Actual”和“Diferencia”这一个列:
@FXML
private TableColumn<Productos, Double> colExistenciaF;
@FXML
private TableColumn<Movproductos, Double> colDiferencia;
这是因为我拥有存储初始库存 (Producto.class) 或产品存在的实体,但是当我需要进行交易或移动时,我使用另一个实体 (MovProducto.class)。我不知道这是否相关,但必须提及以防万一您需要更多上下文。
编辑
为了给你更多的背景信息,我正在使用 hibernate,所以我的 pojos 类不能使用(据我所知)StringProperty 或数据库中不存在的任何类型的数据类型。
这些是我在这个问题中使用的pojo:
这些是我的控制器(不考虑 DAO 类的坏名声)
提前感谢 James_D 博士。 :)
【问题讨论】:
-
“我正在使用休眠,所以我的 pojos 类不能使用(据我所知)StringProperty”不是真的。见,例如svanimpe.be/blog/properties-jpa
-
@James_D 抱歉,我不想发表这样的声明,据我所知,我正在努力表达这一点。再次感谢。
-
是的。我看到了。我没有同时使用休眠和具有 JavaFX 属性的集合。如果我以后有时间,我会看看我是否能找到解决方案......
-
@James_D 谢谢!我把练习项目上传到了github,有兴趣的可以看看here is it。