簡體   English   中英

在Java中對Jtable Coumn值求和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM