我有这张表,其中有一列显示数量。我要显示的是数量和计量单位,例如
60 meters
10 pieces
20 liters
(the first column)
这是我在表中显示的对象:
公共类VentaDetalle {
private IntegerProperty idVentaDetalle;
private IntegerProperty idMercancia;
private StringProperty nombreMercancia;
private IntegerProperty idVentaGeneral;
private DoubleProperty cantidad;
private DoubleProperty general;
private DoubleProperty mayoreo;
private DoubleProperty subtotal;
public VentaDetalle(int idMercancia, String nombreMercancia, int idVentaGeneral,
Double cantidad, double mayoreo, double general, Double subtotal) {
this.idMercancia = new SimpleIntegerProperty(idMercancia);
this.nombreMercancia = new SimpleStringProperty(nombreMercancia);
this.idVentaGeneral = new SimpleIntegerProperty(idVentaGeneral);
this.cantidad = new SimpleDoubleProperty(cantidad);
this.mayoreo = new SimpleDoubleProperty(mayoreo);
this.general = new SimpleDoubleProperty(general);
this.subtotal = new SimpleDoubleProperty(subtotal);
}
//Metodos atributo: idVentaDetalle
public int getIdVentaDetalle() {
return idVentaDetalle.get();
}
public void setIdVentaDetalle(int idVentaDetalle) {
this.idVentaDetalle = new SimpleIntegerProperty(idVentaDetalle);
}
public IntegerProperty IdVentaDetalleProperty() {
return idVentaDetalle;
}
//Metodos atributo: idMercancia
public int getIdMercancia() {
return idMercancia.get();
}
public void setIdMercancia(int idMercancia) {
this.idMercancia = new SimpleIntegerProperty(idMercancia);
}
public IntegerProperty IdMercanciaProperty() {
return idMercancia;
}
//Metodos atributo: nombreMercancia
public String getNombreMercancia() {
return nombreMercancia.get();
}
public void setNombreMercancia(String nombreMercancia) {
this.nombreMercancia = new SimpleStringProperty(nombreMercancia);
}
public StringProperty NombreMercanciaProperty() {
return nombreMercancia;
}
//Metodos atributo: idVentaGeneral
public int getIdVentaGeneral() {
return idVentaGeneral.get();
}
public void setIdVentaGeneral(int idVentaGeneral) {
this.idVentaGeneral = new SimpleIntegerProperty(idVentaGeneral);
}
public IntegerProperty IdVentaGeneralProperty() {
return idVentaGeneral;
}
//Metodos atributo: cantidad
public Double getCantidad() {
return cantidad.get();
}
public void setCantidad(Double cantidad) {
this.cantidad = new SimpleDoubleProperty(cantidad);
}
public DoubleProperty CantidadProperty() {
return cantidad;
}
//Metodos atributo: general
public Double getMayoreo() {
return mayoreo.get();
}
public void setMayoreo(Double mayoreo) {
this.mayoreo = new SimpleDoubleProperty(mayoreo);
}
public DoubleProperty MayoreoProperty() {
return mayoreo;
}
//Metodos atributo: general
public Double getGeneral() {
return general.get();
}
public void setGeneral(Double general) {
this.general = new SimpleDoubleProperty(general);
}
public DoubleProperty GeneralProperty() {
return general;
}
//Metodos atributo: subtotal
public Double getSubtotal() {
return subtotal.get();
}
public void setSubtotal(Double subtotal) {
this.subtotal = new SimpleDoubleProperty(subtotal);
}
public DoubleProperty SubtotalProperty() {
return subtotal;
然后我像这样初始化列:
clmnCantidad.setCellValueFactory(new PropertyValueFactory<VentaDetalle, Double>("cantidad"));
我从带有表项的数据库中获取单位 该表具有名称,库存,代码条和度量单位
答案 0 :(得分:0)
我将不回答有关SQL查询的部分-理想情况下,它应该是结合了两个表的某种JOIN
语句。
结合使用IntegerProperty
和StringProperty
时有2种主要方法。
public class VentaDetalle {
private DoubleProperty cantidad;
private StringProperty measurementUnit;
private StringProperty cantidadWithUnit;
// Other properties
// Public getters/setters
public VentaDetalle(......) {
// All the other stuff you did in constructor
cantidadWithUnit.bind(Bindings.concat(cantidad, " ", measurementUnit));
}
}
然后,您只需要设置单元格值工厂即可:
clmnCantidad.setCellValueFactory(new PropertyValueFactory<>("cantidadWithUnit"));
clmnCantidad.setCellValueFactory(row ->
Bindings.concat(row.getValue().cantidadProperty(), " ", row.getValue().measurementUnitProperty())
);