如何在 javafx table 视图中获取记录(项目)编号列?

How to get a record (item) number column in javafx table view?

我用 MySQL 数据库中的 table 列填充了 JavaFX TableView。

在我的 TableView 中,我创建的第一列是 "Number",它没有链接到 MySql 数据库 table 中的任何列。在此列中,我想查看每行的行数。

例如,如果 TableView 中有五行,则 "Number" 列必须分别显示每行的数字 1、2、3、4、5。如果删除第 4 行,则剩余行的行号应为 1、2、3、4。

您需要定义 cellFactory 的额外 TableColumn,但未定义 属性 名称:

TableColumn numberCol = new TableColumn( "Number" );
numberCol.setCellFactory( new Callback<TableColumn, TableCell>()
{
    @Override
    public TableCell call( TableColumn p )
    {
        return new TableCell()
        {
            @Override
            public void updateItem( Object item, boolean empty )
            {
                super.updateItem( item, empty );
                setGraphic( null );
                setText( empty ? null : getIndex() + 1 + "" );
            }
        };
    }
});