JavaFX - TableView - 应用谓词后在列表中保持位置

时间:2017-02-04 22:44:07

标签: javafx

来自JavaFX相对较新的人的一般性问题。我确信必须有一个简单的解决方案。我有一个大的可观察列表(10,000项)。我将它包装为FilteredList并在Tableview中使用它。单击一个按钮时,我会应用一个隐藏部分项目的谓词 - 可能是每三个项目。再次单击时,谓词将被清除。

我的问题是这个。用户通过Tableview / FilteredList页面到项目500.该项目没有焦点但未被选中但是是视图中显示的第一个项目。他们点击按钮,隐藏了三分之一的项目。 tableview从FilteredList中的第500个项目开始重新放置 - 列表中的更深层。

我希望列表重新显示显示应用谓词之前的大致位置。例如,如果过滤器未删除项目500,我希望它是重新显示后的第一个项目。如果它被过滤了,那么我希望项目501成为第一个重新显示的项目。从本质上讲,我希望显示的项目在应用谓词后应用谓词之前不会被过滤。如果之前显示以下内容:

500

501

502

503

504

过滤了

和500和502,我希望它显示

501

503

504

505

506

不是以下

710

711

712

713

714

我希望这是有道理的。我不需要一个如何做到这一点的完整例子,但我确实可以使用某人指出我正确的方向。

0 个答案:

没有答案