Import

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

NuiGrid

Isang data grid sa native na table.

NuiGrid: Mga property
PangalanUriDefaultPaglalarawan
rowsPropreadonly T[]Ang data. Pinapalitan ng isang edit ang row nito at tinatawag ang onRowsChange; papalitan ng susunod na rows na ipapasa mo ang mga edit.
onRowsChangeCallback(rows: readonly T[]) => voidTinatawag kasama ang mga row pagkatapos ng bawat na-commit na edit.
columnsPropNuiGridColumn<T>[]Ang mga column, bilang mga NuiGridColumn object.
rowIdProp(row: T) => unknownrow.id ?? rowKey ng isang row, para sa selection at tracking.
labelPropstringAccessible name ng grid.
selectionProp'none' | 'single' | 'multiple''none'Kung puwedeng pumili ng mga row, at kung ilan.
selected
defaultSelected
onSelectedChangeState
unknown[][]Mga key ng mga napiling row.
sort
defaultSort
onSortChangeState
NuiGridSort[][]Ang sort, bilang mga { column, direction } object; nauunang mag-sort ang una.
filters
defaultFilters
onFiltersChangeState
Record<string, NuiGridFilter>{}Isang filter bawat column id: isang operator at isang value.
search
defaultSearch
onSearchChangeState
string''Mga salitang dapat lumabas lahat sa isang row.
pageSize
defaultPageSize
onPageSizeChangeState
number0Mga row bawat page, o 0 para sa iisang listahang nag-i-scroll.
page
defaultPage
onPageChangeState
number0Ang ipinapakitang page, mula 0.
pageSizesPropnumber[][10, 25, 50, 100]Mga pagpipilian sa pager.
virtualPropboolean | 'auto''auto'Nire-render lang ang mga row na nakikita: palagi, hindi kailanman, o auto kapag lampas 100 row nang walang page.
heightPropstringIsang CSS length na naglilimita sa grid; sa loob ito nag-i-scroll.
columnState
defaultColumnState
onColumnStateChangeState
NuiGridColumnState[][]Lapad, pagkakasunod, pin at visibility ng bawat column, para i-save at i-restore.
modeProp'client' | 'server''client'Ipinapakita ng server ang mga row kung paano dumating ang mga ito, at ipinapaubaya sa iyo ang sorting, filtering at paging.
totalPropnumberBilang ng mga row sa server.
loadingPropbooleanfalseNagpapakita ng progress bar, at mga placeholder row habang wala pang row.
localePropstring'en-US'Fino-format ang mga numero at petsa, at binabasa ang mga itinipang numero.
labelsPropPartial<NuiGridLabels>Bawat text na ipinapakita o ina-announce ng grid, para maisalin.
cornersPropNuiCornersAng hugis ng mga sulok nito: round, squircle, bevel, scoop, notch o square.
radiusPropNuiRadiusKung gaano kabilog ang mga sulok nito: none, small, medium, large o full.
densityPropNuiDensityKung gaano kalaking espasyo ang kinukuha nito: compact, regular o roomy.
groupByPropstring[][]Ang mga column kung saan igu-group ang mga row, ang pinakalabas muna.
collapsed
defaultCollapsed
onCollapsedChangeState
string[][]Mga key ng mga nakasarang grupo; bukas ang mga grupo sa simula.
getChildrenProp(row: T) => T[] | undefinedAng mga child ng isang row: nagpapakita ng tree data ang grid.
expanded
defaultExpanded
onExpandedChangeState
unknown[][]Mga key ng mga row na bukas sa tree data; sarado ang mga ito sa simula.
details
defaultDetails
onDetailsChangeState
unknown[][]Mga key ng mga row na bukas ang mga detalye.
totals, flashPropbooleanfalseIsang row ng mga aggregate sa bawat na-filter na row; mga cell na kumikislap kapag nagbago ang text nila, sa mga row na may pangmatagalang rowId.
layoutProp'table' | 'list' | 'auto''table'Ipinapakita ng list ang mga row bilang mga card, at ginagawa rin ito ng auto sa makikitid na screen.
toolbarPropboolean | 'auto''auto'Isang bar na nagso-sort, nagfi-filter at pumipili ng lahat ng row: palagi, hindi kailanman, o auto kasama ng mga card.
renderEmptyRender prop(filtered: boolean) => ReactNodeAng ipinapakita kapag walang row; sinasabi rito kung mga filter ang nagtago sa mga ito.
renderDetailRender prop(row: T) => ReactNodeAng mga detalye ng isang row, na ipinapakita sa ilalim nito kapag binuksan. Nagdadagdag ang grid ng isang column ng mga toggle.
onRowActivateCallback(row: T) => voidTinatawag kasama ang row na binuksan gamit ang Enter o double click.
onCellEditCallback(edit: NuiGridEdit<T>) => voidTinatawag kasama ang bawat na-commit na edit.
onQueryChangeCallback(query: NuiGridQuery) => voidTinatawag kasama ang sort, mga filter, search at page tuwing nagbabago ang mga ito, at minsan sa simula.
refPropRef<NuiGridHandle>Ang naaabot ng ref ng grid: mga export, pag-print at focus.
exportXlsx, printMethod(options?) => Blob, () => voidAng mga na-filter at na-sort na row bilang spreadsheet; pini-print ang bawat row.
exportCsvMethod(options?) => stringAng mga na-filter at na-sort na row ng mga nakikitang column, bilang CSV.
expandAllMethod(open?: boolean) => voidBinubuksan ang bawat grupo at bawat row na may mga child, o isinasara silang lahat.
focusCellMethod(row: number, col: number) => voidInililipat ang focus sa isang cell; header ang row -1.
clearFiltersMethod() => voidKini-clear ang bawat filter at ang search.
fitMethod(id: string) => voidIpinapantay ang lapad ng isang column sa pinakamalapad sa mga nire-render nitong cell.

Gumagana ang state gaya ng mga sariling input ng React: magpasa ng value at i-update ito mula sa on…Change callback nito, o magpasa ng default… na value at hayaang ang component ang mag-ingat nito.

Sinusunod ng mga customization prop na hindi mo sine-set ang pinakamalapit na data-nui-* attribute. Tingnan ang gabay sa pag-customize.

NuiGridColumn

Isang column. Tumatanggap ito ng bawat property ng Angular column (id at header lang ang required), at ng dalawang ito na gumuguhit nito.

NuiGridColumn: Mga property
PangalanUriDefaultPaglalarawan
renderCellRender prop({ row, value, text, column }) => ReactNodeIkaw ang gumuguhit ng mga cell ng column, mula sa row, sa value nito at sa text nito.
renderHeaderRender prop(column) => ReactNodeIkaw ang gumuguhit ng header ng column; ang header pa rin ang nagbibigay ng pangalan nito.