我想添加单位数量中的商品数量并计算总成本。
private void display()
{
DefaultTableModel model= (DefaultTableModel)SupplyRSTable.getModel();
SupplyRSTable.revalidate();
model.getDataVector().removeAllElements();
try{
stmt = conn.createStatement();
stmt.executeQuery("SELECT itemcode,itemname,itemgroup,itemcost FROM supplytable");
rs = stmt.getResultSet();
while (rs.next())
{
String r1 = rs.getString("itemname");
String r2 = rs.getString("itemgroup");
String r3 = rs.getString("itemcost");
String r4 = rs.getString("itemcode");
model.addRow(new Object[] {r4,r1,r2,r3});
SupplyRSTable.revalidate();
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}`
我只有显示器
最佳答案
1:您的代码格式错误;这篇文章中仅格式化了其中的一部分。
2:我假设您从中提取的数据库有一列包含单位计数,因此查询应该类似于:
stmt.executeQuery("SELECT itemcode,itemname,itemgroup,itemcost,itemcount FROM supplytable");
这个想法是使用已经存在的项目成本和项目计数的先前值来创建总计列,因此它应该如下所示:
String r1 = rs.getString("itemname");
String r2 = rs.getString("itemgroup");
String r3 = rs.getString("itemcost");
String r4 = rs.getString("itemcode");
String r5 = rs.getString("itemcount");
Integer cost= Integer.parseInt(r5);
Integer amount=Integer.parseInt(r3);
Integer total=cost*amount;
String r6=Integer.toString(total);
model.addRow(new Object[] {r4,r1,r2,r3,r5,r6});
SupplyRSTable.revalidate();
当然,将整数成本乘以金额可能会产生小数值,例如 31.43$,因此您可以/应该用 Double 替换总变量,并且在这种情况下您还需要更改 r6 整数解析。
关于java - 在 Jtable 列上添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30043414/