固定! JTable仅显示409行中的7行

时间:2015-06-11 22:13:06

标签: mysql jtable netbeans-7

我在JScrollPane中有一个JTable,我想在其中显示MySQL表中的所有行。 “tr.getTransList()”获取我想要的行并返回使用DbUtils的ResultSet。列名称设置正确。唯一的问题是我只能滚动七行,因为它只显示七行。我喜欢DbUtils.resultSetToTableModel(rs)的易用性,并且希望能够继续使用它。我有完整的方法。 print语句为前两个输出409和12,为第三个print语句输出409。

那么,为什么我只在屏幕上看到7行?

我正在使用NetBeans 7.3,并且在设计模式下我没有在表中设置行或列。我已经尝试设置50行和99行(它允许我使用的最大值),但没有区别 - 我仍然只有7行。我无法在scrollpane或jtable中看到任何限制此设置的设置,但我仍然是一个非常新的Java程序员。

注释掉的行是我原来使用的行,以下行不存在。我添加了它们,以便我可以打印模型中的信息。

 private void populateLastTrans() {
     ResultSet rs;

     rs = tr.getTransList();

     // lastTransTable.setModel(DbUtils.resultSetToTableModel(rs));
     TableModel model = DbUtils.resultSetToTableModel(rs);
     System.out.println("rowCount: " + model.getRowCount());
     System.out.println("colCount: " + model.getColumnCount());

     lastTransTable.setModel(model);
     System.out.println("rows: " + lastTransTable.getRowCount());
    }

我不相信它在SQL查询中,因为我在mysql客户端中获得了所有409行,但以防万一,这是我使用的查询:

SELECT 
 trans_id AS Trans, head AS Head, weight AS Weight, buyerID AS Buyer, 
 sellerID AS Seller, descrip AS Description, price AS Bid, 
 mode AS Mode, TRUNCATE(weight/head, 0) AS AvgWgt, amount AS TotalCost, 
 IF(mode IN (1,3,5,7),TRUNCATE(price*(weight/100)/head,2),price) AS ByHD, 
 IF(mode IN (1,3,5,7),price,TRUNCATE(price/(weight/head)*100,2)) AS ByCWT
 FROM trans WHERE date=(SELECT MAX(start) FROM sales WHERE sel=1) 
 ORDER BY trans_id DESC

1 个答案:

答案 0 :(得分:0)

固定!我删除了scrollpane和jtable(第三次),它又开始工作了。我必须在jtable或scrollpane中设置一些搞砸了它,但我肯定看不出它会是什么......