Skip to content
GRAPHIC WALKER
API-Referenz
TableWalker

TableWalker

TableWalker rendert eine interaktive Datentabelle mit Spalten-Profiling, Filterung und Sortierung. Es bietet eine tabellarische Ansicht Ihrer Daten mit optionalen statistischen Zusammenfassungen fuer jede Spalte.

import { TableWalker } from '@kanaries/graphic-walker';

Props

Daten-Props

PropTypErforderlichBeschreibung
dataRecord<string, any>[]Ja*Array von Datensaetzen fuer den clientseitigen Modus.
fieldsIMutField[]JaFelddefinitionen, die jede Spalte beschreiben.
computationIComputationFunctionJa*Serverseitige Berechnungsfunktion. Alternative zu data.

*Geben Sie entweder data (clientseitig) oder computation (serverseitig) an.

Tabellenkonfiguration

PropTypStandardBeschreibung
pageSizenumber20Anzahl der Zeilen pro Seite.
hideProfilingbooleanfalseSpalten-Profiling (Verteilungsbalken) ausblenden.
hidePaginationAtOnepagebooleanfalseSeitennummerierung ausblenden, wenn alle Daten auf eine Seite passen.
displayOffsetnumber0Offset fuer die Zeilennummerierungsanzeige.
disableFilterbooleanfalseSpaltenfilterung deaktivieren.
disableSortingbooleanfalseSpaltensortierung deaktivieren.
hideSemanticTypebooleanfalseSemantische Typindikatoren bei Spalten ausblenden.

Erscheinungsbild-Props

PropTypStandardBeschreibung
appearance'media' | 'light' | 'dark''media'Dark-Mode-Einstellung.
vizThemeConfigIThemeKey | GWGlobalConfigundefinedTheme fuer visuelle Elemente.
uiThemeIUIThemeConfigundefinedBenutzerdefinierte UI-Farben.

Ref-Props

PropTypBeschreibung
tableFilterRefReact.Ref<{ getFilters: () => IVisFilter[] }>Ref zum Zugriff auf den aktuellen Filterzustand.
storeRefReact.RefObject<VizSpecStore>Ref zum internen Visualisierungsspeicher.
onMetaChange(fid: string, meta: Partial<IMutField>) => voidCallback bei Aenderungen der Feldmetadaten.

i18n-Props

PropTypBeschreibung
i18nLangstringSprachcode.
i18nResourcesRecord<string, Record<string, string>>Benutzerdefinierte Uebersetzungen.

Styling

PropTypBeschreibung
classNamestringCSS-Klasse fuer das Wurzelelement.
styleReact.CSSPropertiesInline-Styles. Standard ist { width: '100%', height: '100%' }.

Beispiele

Einfache Tabelle

import { TableWalker } from '@kanaries/graphic-walker';
 
function DataTable({ data, fields }) {
  return (
    <div style={{ height: '600px' }}>
      <TableWalker data={data} fields={fields} />
    </div>
  );
}

Schreibgeschuetzte Tabelle

<TableWalker
  data={data}
  fields={fields}
  disableFilter
  disableSorting
  hideProfiling
  pageSize={50}
/>

Auf Filter zugreifen

import { useRef } from 'react';
 
function FilteredTable({ data, fields }) {
  const filterRef = useRef(null);
 
  const handleGetFilters = () => {
    if (filterRef.current) {
      const filters = filterRef.current.getFilters();
      console.log('Active filters:', filters);
    }
  };
 
  return (
    <>
      <button onClick={handleGetFilters}>Get Filters</button>
      <TableWalker
        data={data}
        fields={fields}
        tableFilterRef={filterRef}
      />
    </>
  );
}