有没有办法按名称从TableView获取列?
当我需要获取列时,我必须通过索引获取它:
tableView.getColumns().get(i);
但我希望按名称获取专栏:
tableView.getColumns().get("Column Name");
答案 0 :(得分:8)
很难想象你不能只保留对列的引用的情况,但是你总是可以写一个类似的方法
private <T> TableColumn<T, ?> getTableColumnByName(TableView<T> tableView, String name) {
for (TableColumn<T, ?> col : tableView.getColumns())
if (col.getText().equals(name)) return col ;
return null ;
}
答案 1 :(得分:1)
获取列名称或标题的另一种方法是为列设置ID并在必要时检索它:
private String col_ID = "Customer";
private TableColumn col = new TableColumn (col_ID);
col.setId(col_ID);
System.out.println(col.getId());
答案 2 :(得分:0)
从事项目并面临相同的问题
@FXML
TableColumn nameOfTableColumn;
如果传入nameofTableColumn.getText(),则将返回列的名称(在这种情况下为nameOfTableColumn)。相应地添加此代码,并在同一行上设置一个断点。进入并点击相应列名称的+栏:所显示的字段之一将为您提供该列的值,在本例中,该值将再次为“ nameOfTableColumn”。