的JavaFX分类的tableview如何重新排序拖欠重新显示
问题描述:
排序顺序我有一个JavaFX分类的tableview - 定义为重写初始化方法如下:的JavaFX分类的tableview如何重新排序拖欠重新显示
// Bind the FX tableview to the data - allowing sorting
final SortedList<LoadedWotsitModel> sortedList =
new SortedList<LoadedWotsitModel>(configurationDataManager.getLoadedWotsit());
tableLoadedWotsit.setItems(sortedList);
sortedList.comparatorProperty().bind(tableLoadedWotsit.comparatorProperty());
// Sort by time
colTime.setSortType(TableColumn.SortType.ASCENDING);
tableLoadedWotsit.getSortOrder().add(colTime);
这个工作表中的精品,其他列也可由用户分类。
当对话框关闭并重新打开时,它按照用户上次选择的顺序排序。每次显示对话框(不是先前选择的用户排序顺序)时,我希望能够按默认的colTime列进行排序。
在显示表格时,我可以挂钩什么事件来对表格重新排序?
答
我的解决办法是使用一个菜单控制器,从而在代码调用对话框:
myDialogController.sortByTimeAscending();
myDialog.show();
允许我打电话给在控制器的方法直接执行所述排序。
/**
* Sort by time (ascending).
*/
public void sortByTimeAscending()
{
colTime.setSortType(TableColumn.SortType.ASCENDING);
tableLoadedWotsit.getSortOrder().clear();
tableLoadedWotsit.getSortOrder().add(colTime);
}