# Tree-structure Table (cf.cplace.treeTableWidget)

## Overview

The Tree-structure Table app provides a widget for displaying hierarchical page structures in a table format. It combines tree navigation (expandable/collapsible nodes) with tabular data display, making it ideal for visualizing parent-child relationships while showing configurable data columns.

## Dependencies

- `cf.cplace.platform` (cplace Basis) - always pre-installed

No additional apps are auto-installed with this app.

## Types Provided

**None.** This is a widget-only app that provides visualization capabilities without introducing new types.

## Widgets Provided

| Widget | Internal Name | Description | Use Case |
|--------|---------------|-------------|----------|
| Tree-structure Table | `cf.cplace.treeTableWidget` | Table with tree functionality that displays hierarchical page structures with expandable/collapsible nodes and configurable data columns | Display hierarchical data like organizational structures, project breakdowns, or any parent-child relationships in a combined tree + table view |

### Widget Details: Tree-structure Table

**Localized Names:**
- English: Tree-structure Table
- German: Baumstruktur-Tabelle

**Icon:** `cf-widget`

**Capabilities:**
- Combines tree navigation for parent-child relationships with tabular data display
- Expandable/collapsible nodes for hierarchical navigation
- Configurable data columns to show relevant attributes alongside the hierarchy
- Suitable for any type with a self-referential parent attribute

## Usage Notes

### When to Use

Use the Tree-structure Table widget when you need to:
- Display hierarchical data where users need to see both the tree structure and tabular details
- Navigate parent-child relationships while viewing additional attributes
- Show organizational hierarchies, project breakdowns, or category trees with associated data

### Configuration Requirements

To use this widget effectively, your data model should include:
1. A **self-referential reference attribute** (e.g., "parent" pointing to the same type) to define the hierarchy
2. **Additional attributes** you want to display as columns in the table

### Comparison with Other Widgets

| Widget | App | Best For |
|--------|-----|----------|
| Tree-structure Table | `cf.cplace.treeTableWidget` | Simple hierarchies with tabular data columns |
| Extended Tree Table Widget | `cf.cplace.extendedTreeTableWidget` | Multi-type hierarchies with dynamic search-based filtering |
| Structured Table for Schedules | `cf.cplace.projektplanung.projektplanungBasic` | Project planning tasks and milestones with Gantt integration |

### Integration Notes

- This widget does not require any specific types - it works with any type that has a self-referential parent attribute
- Can be combined with other platform widgets for master-detail patterns
- **Not suitable for dashboards** (without explicit root node configuration): The widget resolves its root node as: (1) connected table selection, (2) configured `rootNode`, (3) embedding page fallback. On dashboards without a configured root, the fallback uses the dashboard page itself — which has no hierarchy children — resulting in a single empty row. Since the ai-builder pipeline does not configure explicit root nodes, do not place this widget on dashboard pages.

## Investigation Metadata

- **Investigation Date:** 2026-02-02
- **Investigation Workspace:** `[App Investigation] cf.cplace.treeTableWidget`
- **Workspace ID:** `6uagamlv31rcvlcx2rup6rpi7`
- **cplace Version:** Current production
