JavaFX中表视图的排序行为

时间:2013-06-04 08:51:59

标签: java database user-interface javafx-2

我打算编写一个JFX-Application,它显示包含最多1M条目的数据库表中的数据。不幸的是,标准API使得难以支持延迟加载。读取整个表格不是一种选择(即使它可以很好地执行100K条目)。

可以使用作为TableView模型提供的自定义列表类来完成分页。但是,我还需要控制TableView的排序行为,因为在我的情况下,这将留给dbms。

一个丑陋的解决方案是使列不可移植,并将Click-Event侦听器添加到Column-Header。除了编码之外,这也使得无法以通常的方式显示当前的排序顺序。

可以监听对columnSortOrder的更改,但仍然会应用标准排序机制。我希望能够做的是在列标题中显示标准的升序/降序图标,同时完全控制TableView的排序行为。

[编辑:简而言之,我想实现延迟加载。我想要一个TableView,其行为与普通TableView完全相同,但在用户单击列标题时不对列表进行排序。但是,排序顺序仍应显示在列标题标签中。]

这有可能实现吗?

非常感谢你的答案!

1 个答案:

答案 0 :(得分:0)

供参考:

这已添加到JavaFX-8中。可以使用TableView.setSortPolicy(...)来自定义排序。