Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JTable中显示行号_Java_Swing_Jtable_Rowheader - Fatal编程技术网

Java 在JTable中显示行号

Java 在JTable中显示行号,java,swing,jtable,rowheader,Java,Swing,Jtable,Rowheader,您好,我有一个jtable,我希望它有一个自动递增的行标题,以便用户识别表返回了多少数据。我实际上是从结果集中得到表模型,数据不是固定的。这取决于用户的搜索 以下是我的表格模型代码: public void retrieveMember() throws SQLException { mDao.dbConnect(); try { if(mDao.con!=null) { mDao.ps = mDao.con.prepareS

您好,我有一个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

提前感谢您。

如果无法修改原始表格模型,请选择以下选项之一:

  • 您可以创建自定义行标题视图,如或中的示例所示

  • 您可以创建一个新的TableModel,它包装现有的TableModel并添加一个包含行号的列

  • 您可以在查询中选择行号,并将其作为结果集的一部分


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

如果无法修改原始表格模型,可能是以下选项之一:

  • 您可以创建自定义行标题视图,如或中的示例所示

  • 您可以创建一个新的TableModel,它包装现有的TableModel并添加一个包含行号的列

  • 您可以在查询中选择行号,并将其作为结果集的一部分

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

尝试以下方法:

如果表的列数是固定的,则可以使用计数器获取数据库中表返回的行总数

 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将给出按表返回的记录数。

尝试以下操作:

如果表的列数是固定的,则可以使用计数器获取数据库中表返回的行总数

 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将给出按表返回的记录数。

DbUtils.resultsetTableModel中需要的更改
如果您想要一个行号列,请签出此组件在
DbUtils.resultsetTableModel中需要的更改
如果您想要一个行号列,请签出此组件,我将如何附加行我的程序中的头代码?你能举个例子吗?我不知道从哪里开始。不管怎样,我只是把桌子从秋千上拖下来。我没有像Jtable-tblGender=new-Jtable那样手动编写它。因此,我不知道要修改什么这些示例包括通过调用封闭的
JScrollPane
上的
setRowHeaderView
将行标题附加到现有
JTable
的代码。我不知道您使用的是什么IDE/GUI编辑器,但请看一下它生成的代码。如果在那里插入您自己的代码,大多数GUI编辑器都不会有问题(例如,在Eclipse w/WindowBuilder中,您只需将代码添加到生成的GUI类中,编辑器就不会阻塞)。我使用的是Netbeans,这里没有setRowHeaderView。我在JScrollPane中找到了setRowHeaderView。我可以在这里放置什么来生成自动编号行标题?我不确定还可以告诉您什么。这些例子非常清楚。将相关的行标题类添加到源代码中,然后通过在生成的代码中调用
JScrollPane
上的
setRowHeaderView
来安装它们。如果您没有滚动窗格,请添加一个滚动窗格并将表格放入其中。没什么了。我该如何在程序中附加行标题代码?你能举个例子吗?我不知道从哪里开始。不管怎样,我只是把桌子从秋千上拖下来。我没有像Jtable-tblGender=new-Jtable那样手动编写它。因此,我不知道要修改什么这些示例包括通过调用封闭的
JScrollPane
上的
setRowHeaderView
将行标题附加到现有
JTable
的代码。我不知道您使用的是什么IDE/GUI编辑器,但请看一下它生成的代码。如果在那里插入您自己的代码,大多数GUI编辑器都不会有问题(例如,在Eclipse w/WindowBuilder中,您只需将代码添加到生成的GUI类中,编辑器就不会阻塞)。我使用的是Netbeans,这里没有setRowHeaderView。我在JScrollPane中找到了setRowHeaderView。我可以在这里放置什么来生成自动编号行标题?我不确定还可以告诉您什么。这些例子非常清楚。将相关的行标题类添加到源代码中,然后通过在生成的代码中调用
JScrollPane
上的
setRowHeaderView
来安装它们。如果您没有滚动窗格,请添加一个滚动窗格并将表格放入其中。没有太多了。即使在返回数据时使用sql语句,我也可以使用该代码吗?即使在返回数据时使用sql语句,我也可以使用该代码吗?