我正在从数据库中检索数据并将其放在jtable上,11个项目来自数据库,但只有第1个项目在jtable上打印11次,我不知道我在哪里弄错了,我已经使用了循环语句中的变量,以便它可以自动递增但不起作用。
try{
java.util.Vector v=DatabaseManager.getGroceryItems(bean.getCategoryId());
for(int i=0;i<v.size();i++){
GroceryItemsBean bean2=(GroceryItemsBean)v.elementAt(i);
row.add(bean2.getItemId());
row.add(bean2.getItemName());
row.add(bean2.getBarcode());
row.add(bean2.getStock());
row.add(bean2.getPurchasePrice());
row.add(bean2.getUnitPrice());
row.add(bean2.getDisc());
row.add(bean2.getTax());
row.add(bean2.getUnit());
dataModel.addRow(row);
}
}catch(Exception e){
e.printStackTrace();
javax.swing.JOptionPane.showMessageDialog(this, "error: "+e.getMessage());
}
答案 0 :(得分:0)
我看不到你的代码,但它看起来像是循环中的一个新row
对象,否则它仍然具有循环第一次迭代的值。
或者你应该清除每次迭代结束时的行。
dataModel.addRow(row);
row.clear()
答案 1 :(得分:0)
您需要创建一个新的&#34;行&#34;数据库中每行数据的向量:
GroceryItemsBean bean2=(GroceryItemsBean)v.elementAt(i);
Vector<Object> row = new Vector<Object>();