Every grid feature you need. None behind a paywall.
FreeGrid handles 100,000 rows without breaking a sweat. Sorting, filters, pinned columns, Excel copy and paste, and summary rows are all included under the MIT license. Use it from plain JavaScript, React or Vue.
What you can use today
This table is a FreeGrid too. Click a row to open its demo.
Start in a few lines
Install the package, give the grid a container with a height, pass columns and rows.
import { createGrid } from '@freegridjs/core';
import '@freegridjs/core/styles.css';
const grid = createGrid(document.getElementById('grid'), {
columns: [
{ field: 'name', header: 'Name', pinned: 'left' },
{ field: 'country', header: 'Country', filter: 'set' },
{ field: 'total', header: 'Total', type: 'number', format: '#,##0' },
],
data: rows,
rowSelection: 'multiple',
summary: { rows: [{ label: 'Total', columns: { total: 'sum' } }] },
});import { FreeGrid } from '@freegridjs/react';
import '@freegridjs/core/styles.css';
export function Customers({ rows }) {
return (
<FreeGrid
columns={columns}
data={rows}
rowSelection="multiple"
onCellClick={e => console.log(e.row)}
style={{ height: 480 }}
/>
);
}<script setup>
import { FreeGrid } from '@freegridjs/vue';
import '@freegridjs/core/styles.css';
defineProps(['rows']);
</script>
<template>
<FreeGrid :columns="columns" :data="rows" row-selection="multiple"
:height="480" @cell-click="e => console.log(e.row)" />
</template>What's coming
Each release adds a group of features. Everything stays free.