DataTable: seems to re-render all the rows on select all, even with the pagination.
Describe the bug
Hi, so I'm trying to implement a bulk edit on a DataTable with a large amount of entries. But the more entries the table contains, the more slower it is to display the select rows. I did some tests with a lazy loading and it's much quicker without taking care of the entries number. But this way I lose the sorting and ordering feature of DataTable.
So is there a way to only re-render the visible rows of a DataTable with pagination?
Thanks!
Reproducer
https://codesandbox.io/s/primereact-test-forked-vqhyjv?file=/src/index.js
PrimeReact version
8.1.1
React version
18.x
Language
ALL
Build / Runtime
Create React App (CRA)
Browser(s)
FireFox 101, Chromium 102
Steps to reproduce the behavior
- Open the link
- Click on the checkbox in the header
- change the
ENTRY_MULTIPLIERvalue to see the render speed change.
Expected behavior
Render only the visible rows of the DataTable when the checkbox in the header is clicked.
I got the same performance issue. It seems DataTable re-render all rows and cells every time non-value props (size, showGridlines, resizableColumns, scrollable, etc) were updated.
Same issue here. Tried it already with the v10.0.0. Here is the reproducer:
https://codesandbox.io/s/primereact-test-forked-hw8rwr?file=/src/index.js the issue has already been described here in the discussion: https://github.com/orgs/primefaces/discussions/114
I got the same performance issue. It seems DataTable re-render all rows and cells every time non-value props (size, showGridlines, resizableColumns, scrollable, etc) were updated.
You are right. I have 50 rows in my datatable, even a single selection causes the datatable to re-render everything, as it is also the case when changing a field of a single row (when value mutates). A bit disappointed on this one. :(
Any news on this? I see a lot of bugs being fixed but not this one. :(
@mdimitrov94 if you need immediate support I suggest looking into PrimeReact PRO support.