[英]Sum Jtable coumn values in java
伙計們,我的問題是關於jtable列值,我陷入了一個問題。 我想對jtable列值求和並將其放入文本字段。 我將值插入到jtable中,如果一行為空,則此后不計算總數。 我不明白是什么問題。 我創建了一個方法,並在按鈕事件上調用它。
public void getSum(){
int total=0;
for(int i=0; i<JV_tbl.getRowCount(); i++){
int amount = Integer.parseInt((String) JV_tbl.getValueAt(i, 6));
total+=amount;
}
JV_totalDebit_box.setText(String.valueOf(total));
}
以及按鈕事件代碼。
private void btn_entrySaveActionPerformed(java.awt.event.ActionEvent evt) {
model = (DefaultTableModel)JV_tbl.getModel();
model.addRow(new Object[]{
jv_no_box.getText(),
JV_entry_box.getText(),
((JTextField)date_txt.getDateEditor().getUiComponent()).getText(),
JV_Acc_code.getText(),
JV_acc_title.getText(),
JV_desc_box.getText(),
JV_debit_box.getText(),
JV_credit_box.getText(),
prep_box.getText(),
checked_box.getText(),
approved_box.getText()
});
getSum();
}
如下更改您的getSum()函數。 它將刪除所有空白行,之后將繼續總計。
public void getSum(){
int rowcount1 = JV_tbl.getRowCount();
DefaultTableModel tbm1 = (DefaultTableModel) JV_tbl.getModel();
for(int i = rowcount1-1; i >=0; i--){
if(JV_tbl.getValueAt(i, 6) == null){
tbm1.removeRow(i);
}
}
int total=0;
for(int i=0; i<JV_tbl.getRowCount(); i++){
int amount = Integer.parseInt(JV_tbl.getValueAt(i, 6).toString());
total+=amount;
}
JV_totalDebit_box.setText(String.valueOf(total));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.