AdaptTable for Taiga UI

Tree data in Taiga UI

A tree grid is a different shape from a grouped table: the rows themselves nest, rather than being collected under synthetic headers. Compose tree() with getChildren or getParentId and it renders the hierarchy.

Children indent under their parent and a Taiga UI chevron control in the tree column opens and closes each branch. Give hasChildren and onLoadChildren and a branch fetches its children as it opens, showing that it is loading; a failed fetch closes it again, so the next click retries.

On a phone each card leads with the same chevron and indents by depth. Sorting reorders each branch in place, and a search shows the rows it matches.

The code

import { Component, input } from "@angular/core";
import type { ColumnDef } from "@adapttable/angular";
import { AdaptDataTable } from "@adapttable/taiga-ui";
import { tree } from "@adapttable/taiga-ui/tree";

interface Employee {
  id: string;
  name: string;
  team: string;
  managerId?: string;
}

const columns: ColumnDef<Employee>[] = [{ key: "name" }, { key: "team" }];

@Component({
  selector: "app-org",
  imports: [AdaptDataTable],
  template: `
    <adapt-data-table
      [data]="people()"
      [columns]="columns"
      [rowKey]="rowKey"
      [features]="features"
    />
  `,
})
export class Org {
  readonly people = input.required<readonly Employee[]>();
  readonly columns = columns;
  readonly rowKey = (row: Employee) => row.id;
  readonly features = [
    tree<Employee>({ getParentId: (row) => row.managerId, treeColumn: "name" }),
  ];
}

Install

# Follow the kit setup guide for compatible peers
pnpm add @adapttable/taiga-ui @adapttable/angular @taiga-ui/core@5.26.0 @taiga-ui/kit@5.26.0 @taiga-ui/cdk@5.26.0 @taiga-ui/i18n@5.26.0 @taiga-ui/styles@5.26.0 @taiga-ui/icons@5.26.0 @taiga-ui/event-plugins@^5 @taiga-ui/design-tokens@~0.320.0 @angular/cdk@^22 @angular/forms@^22 @angular/router@^22 rxjs@^7.8.2

The same feature in the other kits

More Taiga UI features

Reference: tree-data. More of this kit: AdaptTable for Taiga UI, or the live demo.