2013-09-29 24 views
0
添加一行

誰能告訴我如何在增加的DefaultTableModel行?我用的ResultSet從數據庫中獲取數據,並rs.getString()得到them..and還我立即自動希望這個表更新我按下按鈕..如何在的DefaultTableModel

public void table(){ 

    try{ 

     rs = stat.executeQuery("SELECT * FROM payments;"); 

     Vector<String> header = new Vector<String>(); 

     header.add("PAYMENT"); 
     header.add("AMOUNT"); 
     header.add("MODIFIER"); 
     header.add("DATE MODIFIED"); 

     Vector<Vector<Object>> data = new Vector<Vector<Object>>(); 

     while(rs.next()) { 

      Vector<Object> row = new Vector<Object>(); 

      row.add(rs.getString("description")); 
      row.add(rs.getString("amount")); 
      row.add(rs.getString("remarks")); 
      row.add(rs.getString("date")); 


      dtm.addRow(row); 

     } // loop 

     dtm.setDataVector(data , header); 
     JScrollPane scrollPane = new JScrollPane(table); 

     scrollPane.setBounds(0,0,490,250); 
     panel.add(scrollPane); 
     validate(); 

    }catch(Exception e){ 
     System.out.println("Error in table: "+e); 
    }//try and catch 

} 
+0

DTM是我defaulttaqblemodel – PhantomKid

+0

表只顯示標題而不是行。 。 – PhantomKid

回答

1

您可以在循環之後用你的data向量來存儲所有結果/行,然後dtm.setDataVector(data , header);

代碼

dtm.addRow(row); 

更改爲

data.add(row); 

基本上,你的代碼必須

Vector<Vector<Object>> data = new Vector<Vector<Object>>(); 

    while(rs.next()) { 

     Vector<Object> row = new Vector<Object>(); 

     row.add(rs.getString("description")); 
     row.add(rs.getString("amount")); 
     row.add(rs.getString("remarks")); 
     row.add(rs.getString("date")); 


     data.add(row); // add each result/row to data Vector 

    } // loop 

    dtm.setDataVector(data , header); // load all the table rows to DefaultTableModel 
+0

它不顯示任何行磺酰基列... – PhantomKid

+0

它的工作現在..哈哈非常感謝! ;)」 – PhantomKid

相關問題