2013-06-04 110 views
2

我打算编写一个JFX应用程序,该应用程序显示来自包含最多1M条目的数据库表的数据。不幸的是,标准API使得很难支持延迟加载。读取整个表格并不是一个选项(即使它能够执行高达100K的条目)。JavaFX中的表视图排序行为

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

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

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

[编辑:总之,我想执行懒加载。我想要一个TableView,其行为与普通的TableView完全相同,但当用户单击列标题时不会对列表进行排序。但是,排序顺序仍应显示在列标题标签中。]

是否可以通过某种方式实现?

非常感谢您的回答!

+0

如果您有具体建议,可以在javafx jira中提交jira问题:http://javafx-jira.kenai.com/secure/Dashboard.jspa –

+0

特别是,您想要什么样的改进,让懒惰加载支持? –

+0

@AlexanderKirov我认为他想要延迟加载suport fot'TableView' –

回答

0

仅供参考:

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