Free training · 34 chapters

GuiExpert Table
step by step

From “why does my table freeze?” to a table with two million rows, totals, sorting, filtering, Excel export, editing and live data – in short chapters with code that runs right on the page.

34chapters
26live demos
≈ 2.8 hreading time
8frameworks

How it works

Every chapter matches one 60-second episode of the video series and one git tag of the demo repository.

  1. Read

    A problem, the idea behind the solution, and the code – every snippet is taken from the demo that runs on the page.

  2. Run

    Press “Run live demo”: 100,000 orders, two million rows, a live ticker. Change things, measure, compare.

  3. Check out

    The step-by-step repository has a tag per chapter: git checkout ep-005 gives you exactly that state.

Terminal window
git clone https://github.com/krocon/guiexpert-table-step-by-step-demo.git
cd guiexpert-table-step-by-step-demo
git checkout ep-005 # the state of chapter 5
npm i && npm run dev # → http://localhost:5173

The four building blocks

Everything in this training builds on them – in plain TypeScript and in every framework wrapper.

Host element, table model and options go into a TableScope, which renders the table and returns the TableApi 1 · Host element <div> with a fixed height 2 · TableModel what to show (rows, columns) 3 · TableOptions how it behaves and looks 4 · TableScope renders · scrolls · listens + DomService + EventListener getApi() TableApi scroll, sort, filter, copy, export, update cells …
The same four parts in every framework – the wrappers only hide step 4.

All chapters

Read them in order or jump to what you need – every chapter links to the chapters it builds on and to the API reference.

What you build

The finale of chapter 34: one table with almost everything of this training.

100,000 orders with renderers, totals, fixed column, range selection, live search, context menu and brand theme. 100,000 orders with renderers, totals, fixed column, range selection, live search, context menu and brand theme.
100,000 orders with renderers, totals, fixed column, range selection, live search, context menu and brand theme.