Import

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

NuiGrid

Ein Data Grid auf einer nativen Tabelle.

Selektor
nui-grid
NuiGrid: Eigenschaften
NameTypStandardwertBeschreibung
rowsTwo-Wayreadonly T[]Die Daten. Änderungen ersetzen Zeilen, also binde mit [(rows)].
columnsInputNuiGridColumn<T>[]Die Spalten als NuiGridColumn-Objekte.
rowIdInput(row: T) => unknownrow.id ?? rowDer Schlüssel einer Zeile, für Auswahl und Tracking.
labelInputstringZugänglicher Name des Grids.
selectionInput'none' | 'single' | 'multiple''none'Ob sich Zeilen auswählen lassen, und wie viele.
selectedTwo-Wayunknown[][]Die Schlüssel der ausgewählten Zeilen.
sortTwo-WayNuiGridSort[][]Die Sortierung als { column, direction }-Objekte; das erste sortiert zuerst.
filtersTwo-WayRecord<string, NuiGridFilter>{}Ein Filter pro Spalten-ID: ein Operator und ein Wert.
searchTwo-Waystring''Wörter, die alle in einer Zeile vorkommen müssen.
pageSizeTwo-Waynumber0Zeilen pro Seite oder 0 für eine durchgehende Liste.
pageTwo-Waynumber0Die angezeigte Seite, ab 0.
pageSizesInputnumber[][10, 25, 50, 100]Die Optionen der Seitennavigation.
virtualInputboolean | 'auto''auto'Rendert nur die sichtbaren Zeilen: immer, nie oder auto bei mehr als 100 Zeilen ohne Paginierung.
heightInputstringEine CSS-Länge, die das Grid begrenzt; der Inhalt scrollt darin.
columnStateTwo-WayNuiGridColumnState[][]Breite, Reihenfolge, Fixierung und Sichtbarkeit jeder Spalte, zum Speichern und Wiederherstellen.
modeInput'client' | 'server''client'server zeigt die Zeilen, wie sie ankommen, und überlässt dir Sortieren, Filtern und Paginieren.
totalInputnumberDie Anzahl der Zeilen auf dem Server.
loadingInputbooleanfalseZeigt einen Fortschrittsbalken und, solange Zeilen fehlen, Platzhalterzeilen.
localeInputstringLOCALE_IDFormatiert Zahlen und Datumsangaben und liest eingegebene Zahlen ein.
labelsInputPartial<NuiGridLabels>Alle Texte, die das Grid anzeigt oder ansagt, zum Übersetzen.
cornersInputNuiCornersDie Form der Ecken: round, squircle, bevel, scoop, notch oder square.
radiusInputNuiRadiusWie groß die Ecken sind: none, small, medium, large oder full.
densityInputNuiDensityWie viel Platz die Komponente einnimmt: compact, regular oder roomy.
rowActivateOutputTEmittiert eine per Enter oder Doppelklick geöffnete Zeile.
cellEditOutputNuiGridEdit<T>Emittiert jede übernommene Änderung.
queryChangeOutputNuiGridQueryEmittiert Sortierung, Filter, Suche und Seite, sobald sie sich ändern.
exportCsvMethode(options?) => stringDie gefilterten, sortierten Zeilen der sichtbaren Spalten als CSV.
focusCellMethode(row: number, col: number) => voidFokussiert eine Zelle; Zeile -1 ist die Kopfzeile.
clearFiltersMethode() => voidSetzt alle Filter und die Suche zurück.

Anpassungs-Inputs, die du nicht setzt, richten sich nach dem nächstgelegenen data-nui-*-Attribut. Mehr dazu in der Anleitung zur Anpassung.

NuiGridColumn

Eine Spalte. Nur id und header sind Pflicht.

NuiGridColumn: Eigenschaften
NameTypStandardwertBeschreibung
idEigenschaftstringEindeutig; der Schlüssel in Sortierung, Filtern und Spaltenzustand.
headerEigenschaftstringDer Text des Spaltenkopfs.
valueEigenschaftkeyof T | ((row: T) => V)Ein Schlüssel der Zeile oder eine Funktion der Zeile. Standardmäßig row[id].
typeEigenschaft'text' | 'number' | 'date' | 'boolean' | 'enum''text'Bestimmt Ausrichtung, Sortierung, Filter und Editor.
formatEigenschaftIntl options | ((value, row) => string)Intl-Optionen für Zahlen und Datumsangaben oder eine Funktion, die den Text erzeugt.
optionsEigenschaftNuiOption<V>[]Die Optionen einer enum-Spalte als NuiOption-Objekte.
width, minWidth, maxWidthEigenschaftnumberIn Pixeln.
flexEigenschaftnumberTeilt den restlichen Platz mit den anderen flex-Spalten.
alignEigenschaft'start' | 'center' | 'end'Standardmäßig nach Typ: Zahlen und Datumsangaben am Ende.
pinned, hiddenEigenschaft'start' | 'end', booleanAnfängliche Fixierung und Sichtbarkeit der Spalte.
sortable, filterable, resizable, reorderable, hideableEigenschaftbooleantrueEinzeln mit false abschaltbar.
compareEigenschaft(a: V, b: V) => numberEine eigene Sortierung.
editable, validateEigenschaftboolean | ((row) => boolean), (value, row) => string | nullOb Zellen bearbeitbar sind, und eine Meldung, wenn ein Wert ungültig ist.
setEigenschaft(row: T, value: V) => TErzeugt die bearbeitete Zeile. Standardmäßig eine Kopie mit dem neuen Wert.

NuiGridCell

Zeichnet die Zellen einer Spalte. Der Kontext enthält die Zeile, den Wert und den Text.

Selektor
ng-template[nuiGridCell]
NuiGridCell: Eigenschaften
NameTypStandardwertBeschreibung
nuiGridCellInputstringDie ID der Spalte.

NuiGridHeader

Zeichnet den Kopf einer Spalte.

Selektor
ng-template[nuiGridHeader]
NuiGridHeader: Eigenschaften
NameTypStandardwertBeschreibung
nuiGridHeaderInputstringDie ID der Spalte.

NuiGridEmpty

Was erscheint, wenn es keine Zeilen gibt. Der Kontext verrät, ob Filter sie ausgeblendet haben.

Selektor
ng-template[nuiGridEmpty]