Import
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
Ein Data Grid auf einer nativen Tabelle.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
rowsTwo-Way | readonly T[] | Die Daten. Änderungen ersetzen Zeilen, also binde mit [(rows)]. | |
columnsInput | NuiGridColumn<T>[] | Die Spalten als NuiGridColumn-Objekte. | |
rowIdInput | (row: T) => unknown | row.id ?? row | Der Schlüssel einer Zeile, für Auswahl und Tracking. |
labelInput | string | Zugänglicher Name des Grids. | |
selectionInput | 'none' | 'single' | 'multiple' | 'none' | Ob sich Zeilen auswählen lassen, und wie viele. |
selectedTwo-Way | unknown[] | [] | Die Schlüssel der ausgewählten Zeilen. |
sortTwo-Way | NuiGridSort[] | [] | Die Sortierung als { column, direction }-Objekte; das erste sortiert zuerst. |
filtersTwo-Way | Record<string, NuiGridFilter> | {} | Ein Filter pro Spalten-ID: ein Operator und ein Wert. |
searchTwo-Way | string | '' | Wörter, die alle in einer Zeile vorkommen müssen. |
pageSizeTwo-Way | number | 0 | Zeilen pro Seite oder 0 für eine durchgehende Liste. |
pageTwo-Way | number | 0 | Die angezeigte Seite, ab 0. |
pageSizesInput | number[] | [10, 25, 50, 100] | Die Optionen der Seitennavigation. |
virtualInput | boolean | 'auto' | 'auto' | Rendert nur die sichtbaren Zeilen: immer, nie oder auto bei mehr als 100 Zeilen ohne Paginierung. |
heightInput | string | Eine CSS-Länge, die das Grid begrenzt; der Inhalt scrollt darin. | |
columnStateTwo-Way | NuiGridColumnState[] | [] | 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. |
totalInput | number | Die Anzahl der Zeilen auf dem Server. | |
loadingInput | boolean | false | Zeigt einen Fortschrittsbalken und, solange Zeilen fehlen, Platzhalterzeilen. |
localeInput | string | LOCALE_ID | Formatiert Zahlen und Datumsangaben und liest eingegebene Zahlen ein. |
labelsInput | Partial<NuiGridLabels> | Alle Texte, die das Grid anzeigt oder ansagt, zum Übersetzen. | |
cornersInput | NuiCorners | Die Form der Ecken: round, squircle, bevel, scoop, notch oder square. | |
radiusInput | NuiRadius | Wie groß die Ecken sind: none, small, medium, large oder full. | |
densityInput | NuiDensity | Wie viel Platz die Komponente einnimmt: compact, regular oder roomy. | |
rowActivateOutput | T | Emittiert eine per Enter oder Doppelklick geöffnete Zeile. | |
cellEditOutput | NuiGridEdit<T> | Emittiert jede übernommene Änderung. | |
queryChangeOutput | NuiGridQuery | Emittiert Sortierung, Filter, Suche und Seite, sobald sie sich ändern. | |
exportCsvMethode | (options?) => string | Die gefilterten, sortierten Zeilen der sichtbaren Spalten als CSV. | |
focusCellMethode | (row: number, col: number) => void | Fokussiert eine Zelle; Zeile -1 ist die Kopfzeile. | |
clearFiltersMethode | () => void | Setzt 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.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
idEigenschaft | string | Eindeutig; der Schlüssel in Sortierung, Filtern und Spaltenzustand. | |
headerEigenschaft | string | Der Text des Spaltenkopfs. | |
valueEigenschaft | keyof 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. |
formatEigenschaft | Intl options | ((value, row) => string) | Intl-Optionen für Zahlen und Datumsangaben oder eine Funktion, die den Text erzeugt. | |
optionsEigenschaft | NuiOption<V>[] | Die Optionen einer enum-Spalte als NuiOption-Objekte. | |
width, minWidth, maxWidthEigenschaft | number | In Pixeln. | |
flexEigenschaft | number | Teilt 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', boolean | Anfängliche Fixierung und Sichtbarkeit der Spalte. | |
sortable, filterable, resizable, reorderable, hideableEigenschaft | boolean | true | Einzeln mit false abschaltbar. |
compareEigenschaft | (a: V, b: V) => number | Eine eigene Sortierung. | |
editable, validateEigenschaft | boolean | ((row) => boolean), (value, row) => string | null | Ob Zellen bearbeitbar sind, und eine Meldung, wenn ein Wert ungültig ist. | |
setEigenschaft | (row: T, value: V) => T | Erzeugt 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.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
nuiGridCellInput | string | Die ID der Spalte. |
NuiGridHeader
Zeichnet den Kopf einer Spalte.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
nuiGridHeaderInput | string | Die ID der Spalte. |
NuiGridEmpty
Was erscheint, wenn es keine Zeilen gibt. Der Kontext verrät, ob Filter sie ausgeblendet haben.