简体   繁体   English

如何在defaultTableModel上添加行

[英]How to add row on defaulttablemodel

Can anyone please tell me how to add row on defaulttablemodel?i use resultset to retrieve data from database and rs.getString() to get them..and also i want this table update automatically as soon i pressed the button.. 任何人都可以告诉我如何在defaulttablemodel上添加行吗?我使用结果集从数据库中检索数据,并使用rs.getString()来获取它们。.而且我希望在按下按钮后自动更新此表。

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

}

You can use your data Vector to store all your results/rows and then dtm.setDataVector(data , header); 您可以使用data向量存储所有结果/行,然后使用dtm.setDataVector(data , header); after the loop. 循环后。

Change your code 更改您的代码

dtm.addRow(row);

to

data.add(row);

Basically, your code have to be 基本上,您的代码必须是

    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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM