2

嗨,我有这个 jtable,我想让它的自动递增行标题供用户识别表返回了多少数据。我实际上是从结果集中获取表模型,并且数据不固定。它取决于用户的搜索。

这是我的表模型代码:

public void retrieveMember() throws SQLException {
     mDao.dbConnect();
        try {

        if(mDao.con!=null)
        {  
   mDao.ps = mDao.con.prepareStatement(this.getSql());
   mDao.rs = mDao.ps.executeQuery();
   this.tblGender.setModel(DbUtils.resultSetToTableModel(mDao.rs));

    int[] columnsWidth = { 100, 150, 150, 300, 50, 60, 100, 100, 125,65};
    int i = 0;
    for (int width : columnsWidth) {
        TableColumn column =this.tblGender.getColumnModel().getColumn(i++);
        column.setMinWidth(width);
        column.setMaxWidth(width);
        column.setPreferredWidth(width);
    }

   } else
        {
              System.out.println("Con is null");
        }

    } catch (SQLException ex) {
        ex.printStackTrace();
        throw ex;


    }
  }

任何人都可以帮我放置一个自动递增的行标题吗?将显示我的表返回多少数据的东西。

            -------------------------
                  Name| Age | Gender
            -------------------------
               1| Nely| 16  |Female
               2| Amy | 18  |Female

先感谢您。

4

2 回答 2

4

如果无法修改原始表模型,则可能是这些选项之一:

我推荐第一个选项。它很简单,可以在许多情况下使用。

于 2013-11-19T07:33:04.747 回答
0

Try this :

If number of columns are fix for your table then you can take the counter to get the total number of rows return by table in database.

 mDao.rs = mDao.ps.executeQuery();
 int count = 0;

    /** Setting table fields values **/
    if( mDao.rs.next())
        table.setValueAt( mDao.rs.getString("Name"),count,0);
        table.setValueAt(mDao.rs.getInt("Age"),count,1);
        table.setValueAt(mDao.rs.getString("Gender"),count,2);
        count++;
    }

Count will give the no of record return by table.

于 2013-11-19T07:37:52.370 回答