schrodinger/fixed-data-table-2

Feature combination

zorzysty opened this issue · 1 comments

I'm sorry, it's just a question, not an actual issue, so feel free to close it, but it would be awesome if before that happens someone could tell me if fixed-data-table-2 is the right library for my use case.

Here's what I need to combine (each of the features below must work together in a single component instance):

  • row virtualization
  • dynamic row heights (based on the tallest react component rendered in a cell within a given row)
  • sticky columns both on the left and right side
  • lazy data fetching with infinite scroll
  • dynamic column visibility toggling (by dynamic I mean "keeping scroll position")

Thanks!

Apologies for the very late response. I'll answer this by going through each feature with some example/demo.

We currently support these:

  • row virtualization (see this example with 1 million rows)
  • sticky columns to either side of the table (see FixedRight example)
  • lazy data fetching with infinite scroll
    FDT does not explicitly fetch/lazy load the data but instead relies on the user to pass on the required data.
    You can checkout the infinite scroll example.
  • dynamic column visibility
    You can refer the Hide Columns example. The scroll bar position is also maintained. This also holds true when adding/removing rows.

In regards to dynamic row heights (based on the tallest react component rendered in a cell within a given row),
FDT does support variant row heights.
However, It does not support column/row resizing based on the cell content out of the box. But it should be possible for the user to implement it themselves; #525 should give you ideas.

It's also trivial to combine all these features together. Let me know if you need any help with that.

I'm closing out the issue, but feel free to continue the discussion here.