Zum Hauptinhalt springen

Typen-Referenz

Alle Typen werden aus @dhx/react-spreadsheet oder @dhtmlx/trial-react-spreadsheet exportiert.

import type { SheetData, CellData, SpreadsheetRef /* ... */ } from "@dhtmlx/trial-react-spreadsheet";

CellData

Der deklarative Status einer einzelnen Zelle. Alle Eigenschaften sind optional; ausgelassene Eigenschaften behalten ihren aktuellen Wert bei Aktualisierungen bei.

EigenschaftTypBeschreibung
valuestring | numberZellenwert: Text, Zahl oder Formelzeichenkette (mit = als Prafix).
cssstringCSS-Klassenname(n), die auf Schlussel in der styles-Map auf oberster Ebene verweisen.
formatstringZahlenformatmaske oder Alias (z. B. "currency" oder "#,##0.00").
lockedbooleanGibt an, ob die Zelle gesperrt ist (vor der Bearbeitung geschutzt).
validationstring | string[]Dropdown-Optionen fur die Datenvalidierung.

RowConfig

Zeilen-Metadaten. Nur Zeilen mit einer nicht standardmassigen Konfiguration benotigen Eintrage.

EigenschaftTypBeschreibung
heightnumberZeilenhohe in Pixeln.
hiddenbooleanGibt an, ob die Zeile ausgeblendet ist.

ColConfig

Spalten-Metadaten. Nur Spalten mit einer nicht standardmassigen Konfiguration benotigen Eintrage.

EigenschaftTypBeschreibung
widthnumberSpaltenbreite in Pixeln.
hiddenbooleanGibt an, ob die Spalte ausgeblendet ist.

MergedRange

Definiert einen zusammengefuhrten Zellbereich mithilfe von nullbasiert indizierten Zeilen-/Spaltenkoordinaten.

EigenschaftTypBeschreibung
from{ row: number; column: number }Obere linke Ecke der Zusammenfuhrung (0-indiziert).
to{ row: number; column: number }Untere rechte Ecke der Zusammenfuhrung (0-indiziert).

Beispiel:

// A1:B2 zusammenfuhren
const merge: MergedRange = {
from: { row: 0, column: 0 },
to: { row: 1, column: 1 },
};

FreezeConfig

Konfiguration der fixierten Bereiche fur ein Blatt.

EigenschaftTypBeschreibung
colnumberSpalten bis zu dieser 0-indizierten Spaltennummer fixieren. undefined = keine Spaltenfixierung.
rownumberZeilen bis zu dieser 0-indizierten Zeilennummer fixieren. undefined = keine Zeilenfixierung.

SheetFilter

Filterkonfiguration fur eine Spalte innerhalb eines Blatts.

EigenschaftTypBeschreibung
cellstringZellreferenz, die die gefilterte Spalte identifiziert (z. B. "A1").
rulesIFilterRules[]Anzuwendende Filterregeln. Ein leeres Array loscht den Filter.

SheetSort

Sortierkonfiguration fur eine Spalte innerhalb eines Blatts.

EigenschaftTypBeschreibung
cellstringZellreferenz oder Bereich fur die Sortieroperation (z. B. "B1" oder "A1:E8"). Verwenden Sie einen Bereich, um mehrere Spalten gemeinsam zu sortieren und dabei die Zeilenintegritat zu wahren.
dir1 | -1Sortierrichtung: 1 = aufsteigend, -1 = absteigend.

SheetData

Vollstandiger deklarativer Status fur ein einzelnes Tabellenblatt.

EigenschaftTypErforderlichBeschreibung
idIdJaEindeutiger Blattbezeichner. Muss uber Renders hinweg stabil sein.
namestringJaAnzeigename auf dem Blatt-Tab.
cellsRecord<string, CellData>JaZelldaten, die durch Zellreferenz indiziert sind (z. B. "A1" oder "B2"). Nur Zellen mit nicht standardmassigen Daten benotigen Eintrage.
rowsRecord<number, RowConfig>NeinZeilenkonfiguration, die durch 0-indizierte Zeilennummer indiziert ist.
colsRecord<number, ColConfig>NeinSpaltenkonfiguration, die durch 0-indizierte Spaltennummer indiziert ist.
mergedMergedRange[]NeinZusammengefuhrte Zellbereiche.
freezeFreezeConfigNeinKonfiguration der fixierten Bereiche.
filterSheetFilterNeinSpaltenfilter-Konfiguration. Auf undefined setzen, um zu loschen.
sortSheetSortNeinSortierkonfiguration.

Beispiel:

const sheet: SheetData = {
id: "sheet1",
name: "Inventory",
cells: {
A1: { value: "Product", css: "bold" },
B1: { value: "Quantity", css: "bold" },
A2: { value: "Laptop" },
B2: { value: 42 },
},
cols: { 0: { width: 200 } },
freeze: { row: 1 },
};

SearchConfig

Kontrollierter Suchstatus. Ubergeben Sie ein Objekt, um die Suche auszulosen/zu aktualisieren; ubergeben Sie undefined, um sie zu schliessen.

EigenschaftTypErforderlichBeschreibung
querystringJaZu suchender Text.
openbooleanNeinGibt an, ob die integrierte Suchoberfla che geoffnet werden soll. Standard: false.
sheetIdIdNeinSuche auf ein bestimmtes Blatt anhand der ID einschranken.

SpreadsheetLocale

Lokalisierungskonfiguration fur UI-Bezeichnungen und Formelnamen.

EigenschaftTypBeschreibung
localeRecord<string, string>Uberschreibungen fur UI-Zeichenketten. Schlussel entsprechen dem Locale-Worterbuch der Bibliothek.
formulasRecord<string, [string, string?][]>Lokalisierte Formelnamen, gruppiert nach Kategorie. Jeder Eintrag ist ein Tupel: [localizedName, optionalDescription?].

SpreadsheetTheme

type SpreadsheetTheme = "light" | "dark" | "contrast-light" | "contrast-dark" | string;

Integrierte Farbthemes. Akzeptiert auch benutzerdefinierte Theme-Namens-Zeichenketten.

IExecuteConfig

Konfiguration der Aktionsausfuhrung, die an onBeforeAction / onAfterAction ubergeben wird. Die Struktur variiert je nach Aktionstyp.

EigenschaftTypBeschreibung
rownumberIndex der Zielzeile.
colnumberIndex der Zielspalte.
targetunknownAktionsspezifisches Ziel.
valunknownNeuer Wert.
prevunknownVorheriger Wert.
actionActions | stringAktionsbezeichner.
groupActionActions | stringBezeichner der ubergeordneten Gruppenaktio n.
cellstringZellreferenz (z. B. "A1").
pageIdIdID des Zielblatts.
pageNamestringName des Zielblatts.
[key: string]unknownWeitere aktionsspezifische Eigenschaften.

SpreadsheetRef

Imperatives Handle, das uber React.forwardRef bereitgestellt wird. Ermoglicht direkten Zugriff auf die zugrunde liegende DHTMLX Spreadsheet-Instanz fur Operationen, die sich nicht auf deklarative Props abbilden lassen.

EigenschaftTypBeschreibung
instanceISpreadsheet | nullDie zugrunde liegende Widget-Instanz. null vor der Initialisierung und nach dem Aushangen.

Beispiel:

const ref = useRef<SpreadsheetRef>(null);

// Daten serialisieren
const data = ref.current?.instance?.serialize();

// Programmgesteuerte Auswahl
ref.current?.instance?.selection.setSelectedCell("A1:C5");

// Ruckgangig/Wiederholen
ref.current?.instance?.undo();
ref.current?.instance?.redo();

Actions-Enum

Bekannte Spreadsheet-Aktionsbezeichner. Werden in onBeforeAction / onAfterAction fur typensicheres Aktions-Matching verwendet. Die | string-Union bei Handler-Parametern ermoglicht Vorwartskompatibilitat mit kunftigen Aktionen.

WertBeschreibung
setCellStyleCSS-Stil auf Zelle(n) anwenden.
setCellValueZellenwert setzen.
setCellFormatZahlenformat auf Zelle(n) setzen.
removeCellStylesCSS-Stile von Zelle(n) entfernen.
lockCellZelle(n) sperren oder entsperren.
deleteRowZeile(n) loschen.
addRowZeile(n) einfugen.
deleteColumnSpalte(n) loschen.
addColumnSpalte(n) einfugen.
groupActionBatch-Aktion (mehrere Unteraktionen).
groupRowActionBatch-Zeilenaktion.
groupColActionBatch-Spaltenaktion.
addSheetNeues Blatt hinzufugen.
deleteSheetBlatt loschen.
renameSheetBlatt umbenennen.
clearSheetAlle Daten in einem Blatt loschen.
clearAusgewahlte Zellen loschen.
resizeColSpaltenbreite andern.
resizeRowZeilenhohe andern.
setValidationDatenvalidierung fur Zelle(n) festlegen.
sortCellsZellen sortieren.
insertLinkHyperlink einfugen.
fitColumnSpaltenbreite automatisch an den Inhalt anpassen.
filterSpaltenfilter anwenden oder andern.
mergeZellen zusammenfuhren.
unmergeZusammenfuhrung von Zellen aufheben.
toggleFreezeFixierte Bereiche umschalten.
toggleVisibilitySichtbarkeit von Zeilen/Spalten umschalten.

Handler-Typ-Aliase

Komfort-Aliase fur die Funktionssignaturen, die von Event-Callback-Props verwendet werden. Importieren Sie diese, um Ihre Handler-Funktionen explizit zu annotieren.

TypSignaturVerwendet von
BeforeActionHandler(action: Actions | string, config: IExecuteConfig) => boolean | voidonBeforeAction
AfterActionHandler(action: Actions | string, config: IExecuteConfig) => voidonAfterAction
BeforeCellHandler(cell: string) => boolean | voidonBeforeSelectionSet, onBeforeSelectionRemove, onBeforeFocusSet
AfterCellHandler(cell: string) => voidonAfterSelectionSet, onAfterSelectionRemove, onAfterFocusSet
BeforeEditHandler(cell: string, value: string) => boolean | voidonBeforeEditStart, onBeforeEditEnd
AfterEditHandler(cell: string, value: string) => voidonAfterEditStart, onAfterEditEnd
BeforeSheetHandler(sheet: ISheet) => boolean | voidonBeforeSheetChange
AfterSheetHandler(sheet: ISheet) => voidonAfterSheetChange

SpreadsheetConfigProps

type SpreadsheetConfigProps = Omit<
ISpreadsheetConfig,
"leftSplit" | "topSplit" | "dateFormat" | "timeFormat"
>;

Basistyp fur Komponenten-Props. Stellt alle ISpreadsheetConfig-Konstruktoroptionen als flache Props bereit.

Erneut exportierte Upstream-Typen

Diese Typen werden der Einfachheit halber aus @dhx/ts-spreadsheet erneut exportiert:

TypBeschreibung
ISpreadsheetHauptinterface der Spreadsheet-Widget-Instanz.
ISpreadsheetConfigKonstruktor-Konfigurationsinterface.
ISheetBlatt-Instanz-Interface (verwendet in Blatt-Event-Callbacks).
IFormatsDefinition benutzerdefinierter Zahlenformate.
IFilterRulesKonfiguration von Filterregeln.
IFilterFilter-Instanz-Interface.
IStylesListStildefinitions-Map.
IDataWithStylesDatenstruktur mit eingebetteten Stilen (verwendet von serialize()/parse()).
ICellInfoZellinformationen, die von Widget-Methoden zuruckgegeben werden.
FileFormatDateiformat fur das Laden von Daten (z. B. "json" oder "xlsx").
ToolbarBlocksBezeichner fur Toolbar-Blocke (z. B. "default", "undo" oder "font").
FilterConditionsEnum der verfugbaren Filterbedingungstypen.
IdGenerischer Bezeichnertyp (string | number).