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

Rou*_*nak 1 javafx tableview javafx-8

我已经用 MySQL 数据库中的表的列填充了 JavaFX TableView。

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

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

Ulu*_*Biy 5

您需要定义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 + "" );
            }
        };
    }
});
Run Code Online (Sandbox Code Playgroud)