Skip to content

DsTable

Datatabell.

Bruk

Når bør du bruke DsTable?

  • Til å presentere strukturerte data i rader og kolonner.
  • Når brukeren trenger å sammenligne verdier på tvers av elementer.
  • Til å vise lister med flere attributter per element (f.eks. navn, status, dato).

Når bør du unngå DsTable?

  • Til layoutformål. Bruk grid eller flex-layout i stedet.
  • Når dataene er enkle nok til å vises som en liste.

Eksempler

Grunnleggende bruk

DsTable — interaktiv forhåndsvisning
Åpne i nytt vindu ↗
dart
DsTable(
  columns: [Text('Navn'), Text('Status')],
  rows: [
    [Text('Prosjekt A'), DsTag(child: Text('Aktiv'), color: DsColor.success)],
    [Text('Prosjekt B'), DsTag(child: Text('Fullført'), color: DsColor.info)],
  ],
)

Med sebrastriper og musepeker-utheving

dart
DsTable(
  zebra: true,
  hover: true,
  columns: [Text('ID'), Text('Beskrivelse'), Text('Dato')],
  rows: [
    [Text('001'), Text('Første oppgave'), Text('2026-01-15')],
    [Text('002'), Text('Andre oppgave'), Text('2026-02-20')],
    [Text('003'), Text('Tredje oppgave'), Text('2026-03-10')],
  ],
)

Med sorterbare kolonner og trykkbare rader

dart
DsTable(
  columns: [Text('Navn'), Text('Alder')],
  rows: [
    [Text('Alice'), Text('30')],
    [Text('Bob'), Text('25')],
  ],
  sortColumn: 0,
  sortDirection: DsSortDirection.ascending,
  onSort: (kolonneIndeks) => sorter(kolonneIndeks),
  onRowTap: (radIndeks) => velgRad(radIndeks),
)

Med festet overskriftsrad og bunntekst

Festet overskriftsrad krever en avgrenset høyde, for eksempel inne i en SizedBox eller Expanded.

dart
SizedBox(
  height: 240,
  child: DsTable(
    stickyHeader: true,
    caption: Text('Utgifter per måned'),
    columns: [Text('Måned'), Text('Beløp')],
    rows: [
      [Text('Januar'), Text('1 200')],
      [Text('Februar'), Text('980')],
    ],
    footerRows: [
      [Text('Sum'), Text('2 180')],
    ],
  ),
)

Retningslinjer

  • Bruk tydelige kolonneoverskrifter som beskriver innholdet i kolonnen.
  • Juster tekst til venstre og tall til høyre for bedre lesbarhet.
  • Hold tabellen enkel. Unngå for mange kolonner som gjør det vanskelig å lese.

Tekst

  • Kolonneoverskrifter bør være korte og beskrivende.
  • Bruk konsekvent formatering av data i hver kolonne.

Har du innspill til denne komponenten? Send innspill på GitHub