【发布时间】:2016-06-03 04:31:57
【问题描述】:
我有一个桌子女巫,如下表所示
TableVeiw<Transaction>
---------------------------------------------------------------------
| id | Transaction date | Name | type | Debit Amount | Credit Amount|
|---------------------------------------------------------------------|
| 1 | 21/02/2016 |Invoice|Credit | | 12000 |
|---------------------------------------------------------------------|
| 2 | 21/02/2016 |Payment|Debit | 20000 | |
|---------------------------------------------------------------------|
| Total Debit | Total Credit |
-----------------------------
借方金额和贷方金额中的数据来自交易对象的一个属性,如何填充这些列的代码片段如下:
tcCreditAmmout.setCellValueFactory(cellData -> {
Transaction transaction = cellData.getValue() ;
BigDecimal value = null;
if(transaction.getKindOfTransaction() == KindOfTransaction.CREDIT){
value = transaction.getAmountOfTransaction();
}
return new ReadOnlyObjectWrapper<BigDecimal>(value);
});
tcDebitAmmout.setCellValueFactory(cellData -> {
Transaction transaction = cellData.getValue() ;
BigDecimal value = null;
if(transaction.getKindOfTransaction() == KindOfTransaction.DEBIT){
value = transaction.getAmountOfTransaction();
}
return new ReadOnlyObjectWrapper<BigDecimal>(value);
});
每次通过 Javafx 绑定更改 TableView 项目时,我都需要计算:总借方(见上表)和总贷方(见上表)的总和,但我不知道如何实现这一点。
注意:总借方和总贷方是标签,
【问题讨论】:
-
这与stackoverflow.com/questions/35187145/… 的第二部分有何不同?你似乎在反复问同一个问题。
-
不,它是不同的,transaction.getAmountOfTransaction() 是根据交易类型分成列的。我需要计算每列 tcCreditAmmout 和 tcDebitAmmout 的总和
-
但是对于所有分别具有
transaction.getKindOfTransaction() == KindOfTransaction.CREDIT和transaction.getKindOfTransaction() == KindOfTransaction.DEBIT的事务来说,这些只是transaction.getAmountOfTransaction()的总和,不是吗? -
是的,但是我需要将它们的交易总和与借记类型分开。
-
不太确定我明白为什么会有如此不同,但请看答案。
标签: tableview javafx-8 observable tablecolumn