首页 > 解决方案 > 如何将多行添加到 JTable?

问题描述

我正在尝试从数据库中填充 JTable,但输出仍然为空。这是我的代码:

    private void buttonsearchActionPerformed(java.awt.event.ActionEvent evt)
    {
        conn = DatabaseConnection.dbConnection();
        try {
            String Sql="select idp,nomp,prix,stock from produit where codep='" 
                       + textsearch.getText() + "'";
            pst = conn.prepareStatement(Sql);

            ResultSet rs = pst.executeQuery();
            DefaultTableModel model = new DefaultTableModel();
            Object[] columns = {"Id Produit", "Nom Produit", "Quantité", "Prix", "Stock"};
            model.setColumnIdentifiers(columns);
            table.setModel(model);
            Object[] row = new Object[5];

            if (rs.next())
            {
                row[0] = rs.getInt("idp");
                row[1] = rs.getString("nomp");
                //row[2] = rs.getString("");
                row[3] = rs.getString("prix");
                row[4] = rs.getString("stock");
                model.addRow(row);
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }                        

表“poduit”是:

| idp | codep | nomp | prix | stock |

“量”在

Object[] columns = {"Id Produit", "Nom Produit", "Quantité", "Prix", "Stock"}; 

这意味着修改项目数量以创建帐单。

我的问题是第二行粘贴在第一行谢谢帮助

标签: javajtable

解决方案


根据如何在 JTable 中添加行?和 Internet 本身,所有示例都使用以下行:

DefaultTableModel deFaultTableModel = (DefaultTableModel) myJTable.getModel();

所以你必须将代码行 ' DefaultTableModel model = new DefaultTableModel();'替换为DefaultTableModel model = (DefaultTableModel) table.getModel();.


推荐阅读