Import

import-grid.tsx
import { NuiGrid, type NuiGridColumn, type NuiGridHandle } from '@needless-ui/react/grid';

NuiGrid

Grid data ing tabel native.

NuiGrid: Properti
JenengJinisGawanKatrangan
rowsPropreadonly T[]Data. Suntingan ngganti barise lan nyeluk onRowsChange; rows sabanjure sing panjenengan wenehake bakal ngganti suntingan kasebut.
onRowsChangeCallback(rows: readonly T[]) => voidDiceluk karo baris-baris sawise saben suntingan sing wis ditetepake.
columnsPropNuiGridColumn<T>[]Kolom-kolom, minangka obyek NuiGridColumn.
rowIdProp(row: T) => unknownrow.id ?? rowKunci baris, kanggo milih lan nglacak.
labelPropstringJeneng aksesibel grid.
selectionProp'none' | 'single' | 'multiple''none'Apa baris bisa dipilih, lan pira.
selected
defaultSelected
onSelectedChangeKahanan
unknown[][]Kunci baris-baris sing dipilih.
sort
defaultSort
onSortChangeKahanan
NuiGridSort[][]Urutan, minangka obyek { column, direction }; sing kapisan ngurutake dhisik.
filters
defaultFilters
onFiltersChangeKahanan
Record<string, NuiGridFilter>{}Saringan saben id kolom: operator lan nilai.
search
defaultSearch
onSearchChangeKahanan
string''Tembung-tembung sing kabeh kudu ana ing baris.
pageSize
defaultPageSize
onPageSizeChangeKahanan
number0Baris saben kaca, utawa 0 kanggo siji dhaptar sing digulung.
page
defaultPage
onPageChangeKahanan
number0Kaca sing ditampilake, wiwit 0.
pageSizesPropnumber[][10, 25, 50, 100]Pilihan ing navigasi kaca.
virtualPropboolean | 'auto''auto'Mung nggambar baris sing katon: tansah, ora tau, utawa kanthi auto yen luwih saka 100 baris tanpa kaca.
heightPropstringDawa CSS sing mbatesi grid; isine digulung ing njero.
columnState
defaultColumnState
onColumnStateChangeKahanan
NuiGridColumnState[][]Ambane, urutan, status semat lan visibilitas saben kolom, kanggo disimpen lan dibalekake.
modeProp'client' | 'server''client'server nampilake baris kaya tekane lan masrahake urutan, saringan lan kaca marang panjenengan.
totalPropnumberCacahe baris ing server.
loadingPropbooleanfalseNampilake bar progres, lan baris placeholder nalika durung ana baris.
localePropstring'en-US'Ngformat angka lan tanggal, lan maca angka sing diketik.
labelsPropPartial<NuiGridLabels>Saben teks sing ditampilake utawa diumumake grid, kanggo diterjemahake.
cornersPropNuiCornersWangun pojoke: round, squircle, bevel, scoop, notch utawa square.
radiusPropNuiRadiusSepira gedhene pojoke: none, small, medium, large utawa full.
densityPropNuiDensitySepira akehe papan sing dienggo: compact, regular utawa roomy.
groupByPropstring[][]Kolom kanggo nglompokake baris, sing paling njaba dhisik.
collapsed
defaultCollapsed
onCollapsedChangeKahanan
string[][]Kunci klompok sing ditutup; klompok wiwitane kabukak.
getChildrenProp(row: T) => T[] | undefinedBaris anak saka sawijining baris: grid nampilake data wit.
expanded
defaultExpanded
onExpandedChangeKahanan
unknown[][]Kunci baris sing kabukak ing data wit; wiwitane ditutup.
details
defaultDetails
onDetailsChangeKahanan
unknown[][]Kunci baris sing rinciane kabukak.
totals, flashPropbooleanfalseBaris agregat saka kabeh baris sing wis disaring; sel sing kedhip nalika teks-e owah, ing baris kanthi rowId sing tetep.
layoutProp'table' | 'list' | 'auto''table'list nampilake baris minangka kertu, lan auto uga mengkono ing layar sing ciut.
toolbarPropboolean | 'auto''auto'Bar sing ngurutake, nyaring lan milih kabeh baris: tansah, ora tau, utawa kanthi auto bareng kertu.
renderEmptyRender prop(filtered: boolean) => ReactNodeApa sing katon nalika ora ana baris; dikabari apa baris-baris didhelikake saringan.
renderDetailRender prop(row: T) => ReactNodeRincian sawijining baris, katon ing sangisore nalika dibukak. Grid nambahake kolom isi toggle.
onRowActivateCallback(row: T) => voidDiceluk karo baris sing dibukak nganggo Enter utawa klik kaping pindho.
onCellEditCallback(edit: NuiGridEdit<T>) => voidDiceluk karo saben suntingan sing wis ditetepake.
onQueryChangeCallback(query: NuiGridQuery) => voidDiceluk karo urutan, saringan, panelusuran lan kaca saben ana owah-owahan, lan sepisan ing wiwitan.
refPropRef<NuiGridHandle>Apa sing bisa digayuh liwat ref grid: ekspor, nyithak lan fokus.
exportXlsx, printMetode(options?) => Blob, () => voidBaris sing wis disaring lan diurutake minangka spreadsheet; nyithak kabeh baris.
exportCsvMetode(options?) => stringBaris sing wis disaring lan diurutake saka kolom sing katon, minangka CSV.
expandAllMetode(open?: boolean) => voidMbukak saben klompok lan saben baris sing duwe anak, utawa nutup kabeh.
focusCellMetode(row: number, col: number) => voidMindhah fokus menyang sel; baris -1 yaiku header.
clearFiltersMetode() => voidMbusak kabeh saringan lan panelusuran.
fitMetode(id: string) => voidNyocogake ambane kolom karo sel paling amba sing wis digambar.

Kahanan mlaku kaya input React dhewe: wenehana nilai lan anyarana saka callback on…Change-e, utawa wenehana nilai default… lan komponen sing nyimpen.

Prop kustomisasi sing ora panjenengan setel bakal ngetutake attribute data-nui-* sing paling cedhak. Pirsani pandhuan kustomisasi.

NuiGridColumn

Siji kolom. Nampa kabeh properti kolom Angular (mung id lan header sing wajib), uga rong properti iki sing nggambar kolom kasebut.

NuiGridColumn: Properti
JenengJinisGawanKatrangan
renderCellRender prop({ row, value, text, column }) => ReactNodePanjenengan nggambar sel-sel kolom dhewe, saka baris, nilaine lan teks-e.
renderHeaderRender prop(column) => ReactNodePanjenengan nggambar header kolom dhewe; jenenge tetep saka header.