Our great sponsors
-
DataGridXL2
Excel-like Experience for Web Apps (The performant & reliable Vanilla Javascript data grid with Excel-like controls)
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
canvas-datagrid
Canvas based data grid web component. Capable of displaying millions of contiguous hierarchical rows and columns without paging or loading, on a single canvas element.
-
Glide Data Grid
🚀 Glide Data Grid is a no compromise, outrageously react fast data grid with rich rendering, first class accessibility, and full TypeScript support.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I haven't tried using DataGridXL with a file with that many records. There is a chance that the DOM node that is used for scroll-listening grows too large and browsers cannot handle that. I suspect that is where the error comes from.
However, I will add this to our list of issues, see where the error really comes from and where I can improve it (https://github.com/DataGridXL/DataGridXL2/issues/31). For now, I would say 10,000 records max to be sure.
Or tabulator http://tabulator.info/ .. I don't see filtering though.
No reason to sacrifice accessibility and styling in the name of performance: https://github.com/jpmorganchase/regular-table
I'm biased because I'm the maintainer, but canvas-datagrid is uh, canvas-based datagrid (https://github.com/TonyGermaneri/canvas-datagrid), which can easily handle millions of rows. It's FOSS, and although in need of improvement (and better type annotations), it's well-document (https://canvas-datagrid.js.org/) and actively maintained.
Lighthouse [1][2] Accessibility audit/ scores can be a good tool to check A11Y issues automatically, and it is fairly easy to integrate into your CI/CD Pipelines to get the report automatically to check for issues/ regression.
The web accessibility world is complex enough that simulating different methods of access like using screen readers or different font-sizes and doing manual tests for compliance is not particularly feasible if you want to make your content accessible to all.
[1] https://developers.google.com/web/tools/lighthouse
We ran into the same issue! We actually implemented a feature we joking call clown-car scrolling to handle this. If you want to steal the basics of it you can see it here: https://github.com/glideapps/glide-data-grid/blob/main/packa...
Feel free to steal and improve, we only enable the clown-car mode when the desired scrollable area is larger than what a browser can support. With our implementation scrolling is still handled by the browser, but the scroll location can be subtly recomputed as you go from time to time. We only do this when interacting with the scrollbar directly to avoid weird artifacts like scrolling feeling faster than normal.
Related posts
- Trying to recommend a library for data tables. Does anyone know an excellent data table library that goes hard into data table stuff? Working on a data heavy product where people need to do a lot with data tables. Wondering if there are any stand out libraries peeps have used first hand.
- Tabulator – JavaScript Tables and Data Grids
- Tabulator: Tables, datagrids and tree grids for Vanilla JavaScript
- Tabulator: Interactive Data Grid for JavaScript (No React, No Vue)
-
ag-Grid VS infinite-react - a user suggested alternative
2 projects | 1 Jan 2024