【问题标题】:how to add data from sql to JTable in same line?如何在同一行将数据从 sql 添加到 JTable?
【发布时间】:2017-04-25 10:15:06
【问题描述】:

我正在尝试将我的数据从 DB 添加到 java 中的 JTable(使用 eclipse),因此数据插入到不同的行中,但我需要将这些数据添加到同一行,直到我的列填满然后转到下一行。

while(r.next()){

        String itemCode = r.getString("item_name"); 
        TableModel2.addRow(new Object[]{itemCode});

}

我尝试使用 setValueAt 但我的代码无法正常工作..

while(r.next()){

      for (int index =0 ; index < TableModel2.getColumnCount(); index ++){
        for (int i =0 ; index < TableModel2.getColumnCount(); index ++){
            String itemCode = r.getString("item_name"); 
            table_3.setValueAt((Object)itemCode,i, index);
       }}}

【问题讨论】:

    标签: java sql eclipse jtable


    【解决方案1】:

    你可以这样做:

    int i = 1;
    java.util.List<String> items = new ArrayList<String>();
    while(r.next()){
        items.add(r.getString("item_name")); // Add all items to List
        if(i >= 3){
             TableModel2.addRow(items.toArray(new String[items.size()])); // Convert the List to array and add it to the row
             items = new ArrayList<String>();
             i = 1;
        }
        i++;
    }
    if(items.size()>0)
       TableModel2.addRow(items.toArray(new String[items.size()])); // Adding the rest items to the last row.
    

    【讨论】:

    • 谢谢,但在[list.size()] 中,您的意思是在 list = List 中吗?当我以这种方式编写 [List.size()] 时出现错误:无法从类型 List 中对非静态方法 size() 进行静态引用。如果我用[items.size()] 替换它,它运行良好但只是填充第一行(行),我的意思是它不会继续与其他项目一起进入下一行。谢谢你
    • @sara .. 我还更新了答案,将其余项目添加到最后一行。祝你好运,当您发现它有用时,不要忘记为答案投票;)
    • done ;) ,如果可以的话,我也需要你在我项目中的其他问题上的帮助,如果你有时间,我不确定我是否可以在这里问另一个问题,因为我最近被问到了,saly -2010-@hotmail.com
    • 别担心,想问多少就问多少,我们不需要通过电子邮件联系。但是,我会给你发一封电子邮件:)
    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多