在选择好供应商,货品名称,填好数量后,按“增加”按钮,在JTabel中就添加这条数据
如何实现在填一条新的数据,就能在表的第2行的添加数据,而保留原来第1行的数据
“增加”按钮的代码,该如何修改
private void addproductActionPerformed(ActionEvent event)
    {
     DefaultTableModel tablemodel = null;
     String[] name1 = {"货品编号","货品名称","计量单位","入库数量","入库单价","总金额","附注"};
        tablemodel = new DefaultTableModel(name1,0);
     String sqlStr = null;
        sqlStr = "SELECT jiliangdanwei(//计量单位),kcjunjia(//单价) FROM SPZL(//商品资料表)  where name='"+comboBox1(//货品名称combobox).getSelectedItem()+"'";
        RetrieveObject retrieve = new RetrieveObject();
        java.util.Vector vdata = null;
        vdata = retrieve.getObjectRow(sqlStr);
        java.util.Vector vrow = new java.util.Vector();
        vrow.addElement(jtextfield1.getText().trim());
        vrow.addElement(comboBox1.getSelectedItem());
        vrow.addElement(vdata.get(0));
        vrow.addElement(textField.getText().trim());
        vrow.addElement(vdata.get(1));
        //计算总价格
        float danjia=Float.parseFloat(vdata.get(1).toString());
        int shuliang =Integer.parseInt(textField.getText());
        float zongjine=danjia*shuliang;
        vrow.addElement(zongjine);
        vrow.addElement(textField_3.getText().trim());
        tablemodel.addRow(vrow);
        jTable12.setModel(tablemodel);
        jTable12.setRowHeight(20);
    }

解决方案 »

  1.   

     tablemodel = new DefaultTableModel(name1,0); 
    改成
     tablemodel = jTable12.getModel(); 
      

  2.   

    你看下api,我刚才查了下,jtable有个addcolumn()方法,好像就是实现这个的!
    public void addColumn(TableColumn aColumn)
      将 aColumn 追加到此 JTable 的列模型所保持的列数组的尾部。如果 aColumn 的列名称为 null,则将 aColumn 的列名称设置为 getModel().getColumnName() 所返回的名称。 
    要向此 JTable 添加一列,以用给定的 width、cellRenderer 和 cellEditor 来显示模型中第 modelColumn 列的数据,可以使用以下方法: 
          addColumn(new TableColumn(modelColumn, width, cellRenderer, cellEditor));
      [TableColumn 构造方法中的任何一个方法都可以用来替代此方法。]模型的列号存储在 TableColumn 中,在呈现和编辑过程中使用该列号来定位模型中合适的数据值。当列在视图中重新排序时,不更改模型的列号。