OGE logoOGE

Overview

Declarative columns, typed cell templates, sorting, filtering, paging and virtualization. Works with in-memory arrays or a remote data source.

oge-grid oge-column ogeCellTemplate
50 rows paging cell template
No commands to display
Id
First Name
Last Name
Department
City
Salary
Hire Date
1
Can
Kaya
HR
Ankara
₺86.000
2021-06-24
2
Mert
Kılıç
Sales
İstanbul
₺75.000
2023-06-07
3
Emre
Aydın
Engineering
İzmir
₺32.000
2021-08-01
4
Deniz
Arslan
Engineering
İstanbul
₺105.000
2017-01-06
5
Emre
Yılmaz
Engineering
İzmir
₺83.000
2019-10-09
6
Zeynep
Kılıç
Support
İzmir
₺48.000
2017-08-06
7
Can
Doğan
Finance
Antalya
₺37.000
2017-04-03
8
Ayşe
Kaya
Engineering
Ankara
₺73.000
2024-06-27
9
Deniz
Öztürk
Sales
Bursa
₺46.000
2021-11-03
10
Selin
Arslan
Support
İzmir
₺82.000
2020-10-04
50 rows

API

The complete reference — every input, two-way model, imperative method, event and supporting type of <oge-grid> and <oge-column> — lives on the API Reference page.

Export

CSV ships in the core bundle; Excel lives in the separate @oge-ui/grid/export-excel entry point (backed by exceljs) and PDF in @oge-ui/grid/export-pdf (backed by jspdf + jspdf-autotable), so they only load when you import them — typically via a dynamic import().

  • Paging is ignored by default: the export contains the full filtered + sorted set, not just the visible page. Pass { scope: 'page' } for the current page only, or 'selection' for the selected rows.
  • Master-detail & groups: exports contain data rows only. Detail rows are arbitrary templates and group headers are view artifacts — re-group in Excel via the auto-filter, or feed getExportData() into a custom exporter if you need more.
  • Numbers and dates are written as typed Excel cells; lookup and boolean columns use their display text.
  • customizeCell rewrites individual cells in every exporter — return a replacement (typed values stay typed in Excel) or undefined to keep the default.

The demo grid above hosts its export buttons via the ogeToolbar attribute — any projected element with it lands in the grid's toolbar next to the built-in controls.

Templates

*ogeCellTemplate="let value; row as r" customizes cells, *ogeHeaderTemplate="let column" customizes headers, *ogeEditTemplate swaps in your own editor, *ogeDetailTemplate renders master-detail content, *ogeRowTemplate replaces the whole row and *ogeNoDataTemplate the empty state — all fully typed via template context guards. Elements marked with the ogeToolbar attribute project into the grid toolbar.