> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pharen.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Data grid

> Importiere und verwende die Data grid-Komponenten aus @pharen/ui.

export const PharenUiPreview = ({name, title = 'Pharen UI component preview'}) => <div className="not-prose my-6 overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm dark:border-white/10 dark:bg-zinc-950">
    <div className="pharen-ui-preview-root" data-pharen-ui-preview data-example={name} role="region" aria-label={title} />
  </div>;

Mit **Data grid** kannst du mit strukturierten operativen Daten zu arbeiten. Diese Seite dokumentiert alle Vue-Komponenten, die das Modul öffentlich exportiert.

<PharenUiPreview name="data-grid" title="Data grid Vorschau" />

<Accordion title="Code anzeigen">
  ```vue theme={null}
  <script setup lang="ts">
  import { DataGrid, DataGridContainer, DataGridTable } from '@pharen/ui';
  import { getCoreRowModel, useVueTable, type ColumnDef } from '@tanstack/vue-table';

  type Member = { name: string; role: string };
  const data: Member[] = [{ name: 'Johannes', role: 'Owner' }];
  const columns: ColumnDef<Member>[] = [
    { accessorKey: 'name', header: 'Member' },
    { accessorKey: 'role', header: 'Role' },
  ];
  const table = useVueTable({ data, columns, getCoreRowModel: getCoreRowModel() });
  </script>

  <template>
    <DataGrid :table="table" :record-count="data.length">
      <DataGridContainer>
        <DataGridTable />
      </DataGridContainer>
    </DataGrid>
  </template>
  ```
</Accordion>

## Installation

<CodeGroup>
  ```bash npm theme={null}
  npm install @pharen/ui
  ```

  ```bash pnpm theme={null}
  pnpm add @pharen/ui
  ```

  ```bash yarn theme={null}
  yarn add @pharen/ui
  ```

  ```bash bun theme={null}
  bun add @pharen/ui
  ```
</CodeGroup>

<Note>
  Importiere `@pharen/ui/styles.css` genau einmal im Einstiegspunkt deiner Anwendung.
</Note>

## Verwendung

```ts theme={null}
import { DataGrid, DataGridColumnFilter, DataGridColumnHeader, DataGridColumnVisibility, DataGridContainer, DataGridPagination, DataGridScrollArea, DataGridTable, DataGridTableDnd, DataGridTableDndRowHandle, DataGridTableDndRows, DataGridTableVirtual } from '@pharen/ui';
```

## Exporte

| Export                      | Aufgabe                                   |
| --------------------------- | ----------------------------------------- |
| `DataGrid`                  | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridColumnFilter`      | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridColumnHeader`      | Strukturiert den Kopfbereich.             |
| `DataGridColumnVisibility`  | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridContainer`         | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridPagination`        | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridScrollArea`        | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridTable`             | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridTableDnd`          | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridTableDndRowHandle` | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridTableDndRows`      | Exportierte Vue-Komponente dieses Moduls. |
| `DataGridTableVirtual`      | Exportierte Vue-Komponente dieses Moduls. |

## Quellcode

[Quellcode auf GitHub öffnen](https://github.com/PharenIT/ELEV8-Labs/tree/main/src/packages/ui/src/components/data-grid)
