#702 Merged at be5c10d
Repository
JPereda-ControlsFX
Branch
default
Repository
ControlsFX
Branch
default
Author
  1. Jose Pereda
Reviewers
Description

The TableView2 is an advanced JavaFX TableView control, that can be used as drop-in replacement control for the existing TableView, provides row and column fixing and row header.

FilteredTableView is a subclass of TableView2 that provides extended filtering options.

This control is based on the SpreadsheetView control

Comments (8)

  1. Thomas Nield

    Excellent work. The FilteredTableView definitely has a lot of the features I wanted the TableFilter control to have.

    Two suggestions.

    1) Only show the funnel icon on columns that are actually filtered 2) Maybe support Comparable types like LocalDate and support filtering on <, >, <=, >=?

    I love the freezing of columns and rows. Been wanting that feature for years.

    1. Abhinay Agarwal

      Unfortunately, I am on vacation without access to a laptop.

      It would be shame to deprive ControlsFX9 users of this control. Since we want to get a release out fast, there is hardly anytime to fix this control for JavaFX 9+. IMO, we have 2 options:

      • Update 9.0.0 branch with default and remove the control.
      • Update 9.0.0 branch with everything before this PR and make the release.

      I am inclined towards the latter.

  2. Jonathan Giles

    It's a massive PR. I've done a pass on most of the public API, and basically none of the implementation. Other than minor issues, this PR looks fine to me, so I approve. Thanks to @Jose Pereda and Gluon for the contribution!

    1. Jose Pereda author

      Thanks for the revision, I've committed some changes based on your feedback, mostly related to missing JavaDoc, and including code snippets where required.

  3. Samir Hadzic

    Impressive work! Lots of people will be interested in that control because it provides basic features that were missing in the TableView, and it's less complicated that the SpreadsheetView. Few remarks: - I was advised that the term "fixing" or "fixed" is not right when dealing with rows and columns. I guess the right term is like Excel so I would rather use "freezing" or "frozen". I believe the primary meaning of "fix" is to repair something. I modified the terms in the Javadoc of the SpreadsheetView but not in the code itself. Since you have the opportunity to take a fresh start with the TableView2, it could be a good idea to replace it everywhere.

    • In a later PR maybe, you could easily add the zoom. It was requested by a lot of users of the SpreadsheetView and I managed to make it work quite easily. I think it could be nice for the TableView2.
    • Have you tested the TableView2 with nestedColumnHeader ? I know this was a limitation in the SpreadsheetView.
    1. Jose Pereda author

      Thanks Samir, you really paved the way with SpreadsheetView. About fix/freeze we also have a debate on it, and we decided to stick to fix. TableView2 is far from definitive, and more features can be added in later PRs, for sure The samples added (HelloTableView2 and HelloFilteredTableView) both use nested columns. It has been taken into account.

      Thanks for your revision.