将嵌套对象属性绑定到JavaFx中的TableView
发布时间:2020-05-24 10:36:22 所属栏目:Java 来源:互联网
导读:我有下一堂课 public class ProductStockDto extends private Long id; private Long amount; private ProductDto product; private StockDto stock; //getters and setters...} 在JavaFx中我有我的表,我想
|
我有下一堂课 public class ProductStockDto extends
private Long id;
private Long amount;
private ProductDto product;
private StockDto stock;
//getters and setters...
}
在JavaFx中我有我的表,我想将product.name属性绑定到列,就像这样. ObservableList<ProductStockDto> data = FXCollections.observableArrayList();
data.addAll(products);
nameColumn.setCellValueFactory(new PropertyValueFactory("product.name"));
productTable.setItems(data);
但是当我这样做时,TableView上的行显示为空白. 有人可以帮我这个吗?我想绑定嵌套对象属性,在Java Swing上就像是${product.name} 谢谢. 解决方法Javafx不支持这种格式,作为一种解决方法,您可以尝试这样的方法:nameColumn.setCellValueFactory(new Callback<CellDataFeatures<ProductStockDto,String>,ObservableValue<String>>() {
@Override
public ObservableValue<String> call(CellDataFeatures<ProductStockDto,String> data){
return data.getValue().getProducts().nameProperty();
}
});
ProductDto将拥有的地方 public class ProductDto{
private StringProperty name = new SimpleStringProperty("Itachi");
public String getName() {
return name.get();
}
public void setStreet(String name) {
this.name.set(name);
}
public StringProperty nameProperty(){
return name;
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
