java中的Sum Table列值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的Sum Table列值相关的知识,希望对你有一定的参考价值。
各位,我的问题是关于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));
}
以上是关于java中的Sum Table列值的主要内容,如果未能解决你的问题,请参考以下文章