Import

import-grid.ts
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';

NuiGrid

Une grille de données sur un tableau natif.

Sélecteur
nui-grid
NuiGrid: Propriétés
NomTypePar défautDescription
rowsBidirectionnelreadonly T[]Les données. Les modifications remplacent des lignes : liez-les avec [(rows)].
columnsInputNuiGridColumn<T>[]Les colonnes, sous forme d’objets NuiGridColumn.
rowIdInput(row: T) => unknownrow.id ?? rowLa clé d’une ligne, pour la sélection et le suivi.
labelInputstringNom accessible de la grille.
selectionInput'none' | 'single' | 'multiple''none'Si les lignes sont sélectionnables, et combien.
selectedBidirectionnelunknown[][]Les clés des lignes sélectionnées.
sortBidirectionnelNuiGridSort[][]Le tri, sous forme d’objets { column, direction } ; le premier trie en premier.
filtersBidirectionnelRecord<string, NuiGridFilter>{}Un filtre par id de colonne : un opérateur et une valeur.
searchBidirectionnelstring''Des mots qui doivent tous figurer dans une ligne.
pageSizeBidirectionnelnumber0Lignes par page, ou 0 pour une seule liste défilante.
pageBidirectionnelnumber0La page affichée, à partir de 0.
pageSizesInputnumber[][10, 25, 50, 100]Les choix de la pagination.
virtualInputboolean | 'auto''auto'Ne rend que les lignes visibles : toujours, jamais, ou auto au-delà de 100 lignes sans pagination.
heightInputstringUne longueur CSS qui limite la grille ; elle défile à l’intérieur.
columnStateBidirectionnelNuiGridColumnState[][]La largeur, l’ordre, l’épinglage et la visibilité de chaque colonne, à enregistrer et restaurer.
modeInput'client' | 'server''client'server affiche les lignes telles qu’elles arrivent et vous laisse le tri, le filtrage et la pagination.
totalInputnumberLe nombre de lignes sur le serveur.
loadingInputbooleanfalseAffiche une barre de progression, et des lignes provisoires tant qu’il n’y en a aucune.
localeInputstringLOCALE_IDFormate les nombres et les dates, et lit les nombres saisis.
labelsInputPartial<NuiGridLabels>Tous les textes que la grille affiche ou annonce, à traduire.
cornersInputNuiCornersLa forme de ses coins : round, squircle, bevel, scoop, notch ou square.
radiusInputNuiRadiusLa taille de ses coins : none, small, medium, large ou full.
densityInputNuiDensityLa place qu’il occupe : compact, regular ou roomy.
rowActivateOutputTÉmet une ligne ouverte avec Entrée ou un double clic.
cellEditOutputNuiGridEdit<T>Émet chaque modification validée.
queryChangeOutputNuiGridQueryÉmet le tri, les filtres, la recherche et la page à chaque changement.
exportCsvMéthode(options?) => stringLes lignes filtrées et triées des colonnes visibles, en CSV.
focusCellMéthode(row: number, col: number) => voidPlace le focus sur une cellule ; la ligne -1 est l’en-tête.
clearFiltersMéthode() => voidEfface tous les filtres et la recherche.

Les inputs de personnalisation que vous ne définissez pas suivent l’attribut data-nui-* le plus proche. Consultez le guide de personnalisation.

NuiGridColumn

Une colonne. Seuls id et header sont obligatoires.

NuiGridColumn: Propriétés
NomTypePar défautDescription
idPropriétéstringUnique ; la clé dans le tri, les filtres et l’état des colonnes.
headerPropriétéstringLe texte de l’en-tête.
valuePropriétékeyof T | ((row: T) => V)Une clé de la ligne, ou une fonction de la ligne. Par défaut, row[id].
typePropriété'text' | 'number' | 'date' | 'boolean' | 'enum''text'Détermine l’alignement, le tri, le filtre et l’éditeur.
formatPropriétéIntl options | ((value, row) => string)Options Intl pour les nombres et les dates, ou une fonction qui produit le texte.
optionsPropriétéNuiOption<V>[]Les options d’une colonne enum, sous forme d’objets NuiOption.
width, minWidth, maxWidthPropriéténumberEn pixels.
flexPropriéténumberPartage l’espace restant avec les autres colonnes flex.
alignPropriété'start' | 'center' | 'end'Par défaut, selon le type : nombres et dates à la fin.
pinned, hiddenPropriété'start' | 'end', booleanL’épinglage et la visibilité initiaux de la colonne.
sortable, filterable, resizable, reorderable, hideablePropriétébooleantrueChacun se désactive avec false.
comparePropriété(a: V, b: V) => numberUn tri personnalisé.
editable, validatePropriétéboolean | ((row) => boolean), (value, row) => string | nullSi les cellules sont modifiables, et un message quand une valeur n’est pas valide.
setPropriété(row: T, value: V) => TProduit la ligne modifiée. Par défaut, une copie avec la nouvelle valeur.

NuiGridCell

Dessine les cellules d’une colonne. Le contexte contient la ligne, la valeur et le texte.

Sélecteur
ng-template[nuiGridCell]
NuiGridCell: Propriétés
NomTypePar défautDescription
nuiGridCellInputstringL’id de la colonne.

NuiGridHeader

Dessine l’en-tête d’une colonne.

Sélecteur
ng-template[nuiGridHeader]
NuiGridHeader: Propriétés
NomTypePar défautDescription
nuiGridHeaderInputstringL’id de la colonne.

NuiGridEmpty

Ce qui s’affiche quand il n’y a aucune ligne. Le contexte indique si des filtres les ont masquées.

Sélecteur
ng-template[nuiGridEmpty]