OGE logoOGE

Columns

Banded headers, lookup columns (a stored code rendered — and edited/filtered — as its label), calculated display columns, initial sorting via sortOrder, and responsive hiding: shrink the window and watch City, then Last Name disappear.

oge-column-group lookup calculateCellValue hidingPriority sortOrder wordWrap
banded lookup edit adaptive
Person
Id
First Name
Last Name
Department
Yearly
City
200
Ali
Aydın
Destek
564000
İzmir
199
Can
Şahin
Satış
384000
İstanbul
198
Emre
Çelik
Mühendislik
528000
Bursa
197
Elif
Doğan
Destek
1140000
Antalya
196
Mert
Şahin
Mühendislik
360000
İstanbul
195
Deniz
Arslan
Destek
1260000
İstanbul
194
Mert
Arslan
Satış
1428000
Antalya
193
Deniz
Arslan
Finans
468000
Ankara
192
Can
Demir
Mühendislik
1128000
İzmir
191
Selin
Aydın
Satış
972000
İstanbul
200 rows

Mobile / adaptive

Responsive hiding never makes data unreachable: once a column with a hidingPriority leaves a narrow grid, every row gets a + toggle (a real button with aria-expanded) that shows the hidden columns' caption / value pairs, formatted like the cells. columnHidingMode="hide" restores the old drop-only behavior.

columnHidingMode hidingPriority adaptive detail
First Name
Last Name
Department
City
Salary
Ali
Kılıç
HR
İzmir
$44,000.00
Ali
Kılıç
HR
Bursa
$109,000.00
Can
Arslan
Support
İzmir
$31,000.00
Deniz
Çelik
Finance
İstanbul
$63,000.00
Emre
Aydın
Finance
Bursa
$100,000.00
200 rows

Custom sort keys & filter expressions

calculateSortValue replaces the value a column sorts by — here the department lookup sorts by its Turkish label instead of the stored code. calculateFilterExpression rewrites what the filter row produces: typing a number into Salary Band filters the underlying salary by thousands.

calculateSortValue calculateFilterExpression
First Name
Department
Salary Band (k)
Ali
İnsan Kaynakları
44k
Ali
İnsan Kaynakları
109k
Can
Destek
31k
Deniz
Finans
63k
Emre
Finans
100k
Zeynep
Destek
71k
Mert
Satış
92k
Deniz
Destek
35k
200 rows

Right-to-left

Set rtlEnabled (or wrap the grid in a dir="rtl" container — it auto-detects the inherited direction). Layout, pinned columns, chevrons and keyboard arrows all mirror; the library uses CSS logical properties throughout.

rtlEnabled pinned
No
Ad
Soyad
Şehir
Maaş
1
Ali
Kılıç
İzmir
44000
2
Ali
Kılıç
Bursa
109000
3
Can
Arslan
İzmir
31000
4
Deniz
Çelik
İstanbul
63000
5
Emre
Aydın
Bursa
100000
6
Zeynep
Arslan
İzmir
71000
1 / 34 200 rows

Notes

  • Lookup columns keep the raw value in your data; display, the filter select, the header filter and the default editor all speak the label. CSV export writes the label too.
  • Calculated columns (calculateCellValue) are display-only: without a field they can't sort or filter (server contracts stay serializable).
  • Bands are purely visual — resize, pinning and the column chooser keep working on the leaf columns.
  • sortOrder/sortIndex/groupIndex only seed the initial state; user interaction and stateKey restores always win.