Import
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
Una griglia dati su una tabella nativa.
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
rowsBidirezionale | readonly T[] | I dati. Le modifiche sostituiscono le righe, quindi collegali con [(rows)]. | |
columnsInput | NuiGridColumn<T>[] | Le colonne, come oggetti NuiGridColumn. | |
rowIdInput | (row: T) => unknown | row.id ?? row | La chiave di una riga, per la selezione e il tracciamento. |
labelInput | string | Nome accessibile della griglia. | |
selectionInput | 'none' | 'single' | 'multiple' | 'none' | Se le righe si possono selezionare, e quante. |
selectedBidirezionale | unknown[] | [] | Le chiavi delle righe selezionate. |
sortBidirezionale | NuiGridSort[] | [] | L’ordinamento, come oggetti { column, direction }; il primo ordina per primo. |
filtersBidirezionale | Record<string, NuiGridFilter> | {} | Un filtro per ogni id di colonna: un operatore e un valore. |
searchBidirezionale | string | '' | Parole che devono comparire tutte in una riga. |
pageSizeBidirezionale | number | 0 | Righe per pagina, o 0 per un unico elenco a scorrimento. |
pageBidirezionale | number | 0 | La pagina mostrata, a partire da 0. |
pageSizesInput | number[] | [10, 25, 50, 100] | Le scelte nel paginatore. |
virtualInput | boolean | 'auto' | 'auto' | Renderizza solo le righe visibili: sempre, mai, o auto oltre 100 righe senza paginazione. |
heightInput | string | Una lunghezza CSS che limita la griglia; il contenuto scorre all’interno. | |
columnStateBidirezionale | NuiGridColumnState[] | [] | Larghezza, ordine, blocco e visibilità di ogni colonna, da salvare e ripristinare. |
modeInput | 'client' | 'server' | 'client' | server mostra le righe man mano che arrivano e lascia a te ordinamento, filtri e paginazione. |
totalInput | number | Il numero di righe sul server. | |
loadingInput | boolean | false | Mostra una barra di avanzamento, e righe segnaposto quando non ce ne sono. |
localeInput | string | LOCALE_ID | Formatta numeri e date, e legge i numeri digitati. |
labelsInput | Partial<NuiGridLabels> | Ogni testo che la griglia mostra o annuncia, da tradurre. | |
cornersInput | NuiCorners | La forma degli angoli: round, squircle, bevel, scoop, notch o square. | |
radiusInput | NuiRadius | Quanto sono grandi gli angoli: none, small, medium, large o full. | |
densityInput | NuiDensity | Quanto spazio occupa: compact, regular o roomy. | |
rowActivateOutput | T | Emette una riga aperta con Invio o con un doppio clic. | |
cellEditOutput | NuiGridEdit<T> | Emette ogni modifica confermata. | |
queryChangeOutput | NuiGridQuery | Emette ordinamento, filtri, ricerca e pagina a ogni cambiamento. | |
exportCsvMetodo | (options?) => string | Le righe filtrate e ordinate delle colonne visibili, in CSV. | |
focusCellMetodo | (row: number, col: number) => void | Sposta il focus su una cella; la riga -1 è l’intestazione. | |
clearFiltersMetodo | () => void | Azzera tutti i filtri e la ricerca. |
Gli input di personalizzazione che non imposti seguono l’attributo data-nui-* più vicino. Vedi la guida alla personalizzazione.
NuiGridColumn
Una colonna. Solo id e header sono obbligatori.
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
idProprietà | string | Univoco; la chiave in ordinamento, filtri e stato delle colonne. | |
headerProprietà | string | Il testo dell’intestazione. | |
valueProprietà | keyof T | ((row: T) => V) | Una chiave della riga, o una funzione della riga. Di default è row[id]. | |
typeProprietà | 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'text' | Stabilisce allineamento, ordinamento, filtro ed editor. |
formatProprietà | Intl options | ((value, row) => string) | Opzioni di Intl per numeri e date, o una funzione che produce il testo. | |
optionsProprietà | NuiOption<V>[] | Le opzioni di una colonna enum, come oggetti NuiOption. | |
width, minWidth, maxWidthProprietà | number | In pixel. | |
flexProprietà | number | Divide lo spazio rimasto con le altre colonne flex. | |
alignProprietà | 'start' | 'center' | 'end' | Di default dipende dal tipo: numeri e date alla fine. | |
pinned, hiddenProprietà | 'start' | 'end', boolean | Blocco e visibilità iniziali della colonna. | |
sortable, filterable, resizable, reorderable, hideableProprietà | boolean | true | Ognuna si può disattivare con false. |
compareProprietà | (a: V, b: V) => number | Un ordinamento personalizzato. | |
editable, validateProprietà | boolean | ((row) => boolean), (value, row) => string | null | Se le celle si possono modificare, e un messaggio quando un valore non è valido. | |
setProprietà | (row: T, value: V) => T | Crea la riga modificata. Di default è una copia con il nuovo valore. |
NuiGridCell
Disegna le celle di una colonna. Il contesto contiene la riga, il valore e il testo.
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
nuiGridCellInput | string | L’id della colonna. |
NuiGridHeader
Disegna l’intestazione di una colonna.
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
nuiGridHeaderInput | string | L’id della colonna. |
NuiGridEmpty
Cosa si vede quando non ci sono righe. Il contesto indica se le hanno nascoste i filtri.