我有一个组合框和一个表格视图。ComboBox 项目用表格列名填充。我想绑定组合框项目选择和表格列排序。示例:如果我从位于组合框索引 0 的组合框中选择项目说“名称”,则对表的第 0 列进行排序。同样,如果我对表中的列进行排序,则组合框所选项目应使用相应的列名进行更新。现在我正在使用下面的代码实现基于组合框项目选择的表格列排序。
private void bindComboBoxAndTableColumnSort() {
ComboBox combo = topComboBarController.getSortCombo();
combo.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> arg0,
Number oldVal, Number newVal) {
System.out.println("oldVal = "+ oldVal + " and newVal = "+ newVal);
TableColumn sortColumn = null;
SortType st = null ;
sortColumn = table.getColumns().get( newVal.intValue() ) ;
st = table.getColumns().get( newVal.intValue() ).getSortType() ;
table.getSortOrder().clear();
if(sortColumn != null){
table.getSortOrder().add(sortColumn);
sortColumn.setSortType(SortType.ASCENDING);
}
}
});
}
如果有人可以分享一些演示代码,那将会很有帮助。