Chapter 03 of 40
Build it yourself, ag-Grid or GuiExpert Table?
A sober comparison – what you get, what you don't, and a rule of thumb.
After this chapter you can
- compare licence, features and frameworks
- decide which tool fits your project
Three options
After chapter 2 (Virtual scrolling) you know the core trick. Now there are three ways forward: build the rest yourself, use the market leader ag-Grid (free Community or commercial Enterprise edition), or use the GuiExpert Table. No new code in this chapter – a decision aid.
Comparison
As of October 2026. The ag-Grid column follows ag-grid.com: Community vs. Enterprise and Licensing – check there yourself before you decide, features and terms change.
| Build it yourself | ag-Grid Community | ag-Grid Enterprise | GuiExpert Table | |
|---|---|---|---|---|
| Licence | yours | MIT, free | commercial, per developer; watermark without key | MIT, free – also commercially |
| Virtual scrolling | yourself (ch. 2) | ✔ | ✔ | ✔ rows and columns |
| Excel export | yourself | – | ✔ | ✔ without extra library (ch. 24) |
| Range selection & clipboard | yourself | – | ✔ | ✔ copy, cut and paste with Excel since 1.1.99 (ch. 22, ch. 40) |
| Server-side row model | yourself | – | ✔ | – own area model (ch. 17) |
| Row grouping with aggregation | yourself | – | ✔ | ✔ since 1.1.94, no group panel (ch. 36) |
| Pivot tables | yourself | – | ✔ | ✔ since 1.1.94, no drag & drop field list (ch. 37) |
| Accessibility (WAI-ARIA, keyboard) | yourself – the hard part with virtual scrolling | ✔ | ✔ | ✔ since 1.1.91 (ch. 35) |
| Row numbers | yourself (a renderer) | – | ✔ | ✔ one flag, since 1.1.93 (ch. 18) |
| Drag rows into order | yourself (pointer events, auto-scroll, keyboard) | ✔ | ✔ | ✔ mouse, touch and Ctrl+Alt+↑/↓, since 1.1.95 (ch. 23) |
| Fill handle & batch edit | yourself (series rules, pending values per row) | – | ✔ | ✔ fillHandle and batchEdit, since 1.1.96 (ch. 31) |
| Master/detail (detail rows, nested tables) | yourself (a layer outside the virtual rows, life cycle, events) | – | ✔ | ✔ masterDetail, flat tables, since 1.1.97 (ch. 38) |
| Right-to-left (Arabic, Hebrew) | yourself (mirror every position, negative scrollLeft, keyboard) | ✔ | ✔ | ✔ direction: "rtl", since 1.1.98 (ch. 28) |
| Undo / redo, paste from the clipboard | yourself | undo ✔, paste – | ✔ | ✔ undo, clipboard since 1.1.99 – edits, paste, fill, rows and columns (ch. 40) |
| Total rows (sum, average …) | yourself (a footer model) | – | ✔ | ✔ one option, since 1.1.94 (ch. 16) |
Calculated columns (valueGetter) | yourself | ✔ | ✔ | ✔ sorting, filter, totals and Excel use the computed value, since 1.1.95 |
| Formulas typed by users | yourself (and a parser) | – | ✔ | ✔ formula, own parser, no eval, since 1.1.95 (showcase, chapter 39 (Calculated columns & formulas)) |
| Show values as (% of total, running total, rank) | yourself | – | ✔ | ✔ one option, since 1.1.95 |
| Spreadsheet cell references (A1) & formula editor | yourself | – | ✔ | ✔ cellFormulas, 70 Excel functions, colored references and pointing while typing, own parser, no eval, since 1.1.99 (showcase, ch. 40) |
| Filter UI | yourself | ✔ | ✔ | – filter function, the UI is yours (ch. 21) |
| Frameworks | – | React, Angular, Vue, JS | React, Angular, Vue, JS | Angular 14–22, React, Vue, Svelte 4/5, Solid, Preact, Web Component, JS |
| Runtime dependencies | – | – | – | none |
Rule of thumb
Read more
- Blog: Top framework-agnostic data table libraries
- All features of the GuiExpert Table and the licence
- The honest list of what is not built in: chapter 34 (Checklist & finale)
Next
Decided to give it a try? chapter 4 (Installation) takes two minutes.