Hierarchy Structure
Row Levels
Row levels are computed from column binding paths and expansion paths defined in sources.
| Property | Type | Description |
|---|
| Level 0 (upstream) | Root entity | Primary entity from the query from clause. No parent reference. |
| Level 1+ (downstream) | Child entities | Nested entities reached through one-to-many or many-to-many relationships. Each level has a back reference to its parent. |
| Navigation path | string | Dot-separated path from root entity to this level (e.g., systemRequirements.systemRequirement) |
| Editable properties | string[] | List of column binding paths editable at this level |
Levels are automatically determined from your column bindings and source expansion paths. You do not configure levels explicitly.
Merged Cells
In master-downstream hierarchies, cells belonging to the master (upstream) level automatically merge across all downstream rows of the same parent.
| Behavior | Description |
|---|
| Auto-merge | Master-level columns span all child rows visually |
| Edit scope | Editing a merged cell updates the master entity, affecting all downstream rows |
| Selection | Clicking a merged cell selects the master-level entity |
Row Operations
Adding Rows
| Operation | Button | Description |
|---|
| Add master item | add0 | Creates a new top-level (Level 0) row with empty downstream collection |
| Add downstream item | add1 | Creates a child row under the currently selected master entity |
Ctrl+Space adds a new row at the currently selected level.
Removing Rows
| Operation | Button | Description |
|---|
| Remove master item | remove0 | Deletes the master entity and all associated downstream items (cascading delete) |
| Remove downstream item | remove1 | Deletes only the selected child item without affecting the master or siblings |
Removing a master item removes the entire hierarchy branch, including all downstream children.
Entity State Indicators
Row headers display visual indicators for the modification state of each entity:
| State | CSS Class | Description |
|---|
| Modified | ltc-entity--isModified | Entity has been changed since last save |
| Added | ltc-entity--isAdded | Entity was newly created and not yet saved |
| Deleted | ltc-entity--isDeleted | Entity is marked for deletion |
| Error | ltc-entity--isError | Entity has validation errors |
Modified individual cells also receive the isModified class for cell-level change tracking.
Cell Selection and Navigation
| Feature | Description |
|---|
| Single cell selection | Click a cell to select it. Displays marquee border. |
| Range selection | Drag or Shift+Click to select a rectangular cell range |
| Read-only indicator | Read-only cells show a different marquee style |
| Toolbar aggregates | Selecting numeric cells displays aggregates (sum, count) in the toolbar |
Undo and Redo
All operations support full undo/redo:
| Operation | Description |
|---|
| Add row | Undo removes the row; redo re-adds it |
| Remove row | Undo restores the row; redo re-removes it |
| Cell edit | Undo reverts value; redo re-applies the change |
| Cell selection | Selection state is preserved across undo/redo |
Relationship Types in the Tree
| Relationship | Cardinality | Behavior |
|---|
| One-to-many | one-to-many | Parent row expands to show child rows beneath it |
| Many-to-many | many-to-many | Uses association entities as intermediate level; supports linking mode |
| Many-to-one | many-to-one | Displayed as reference columns (not tree levels); see Multi-Item Columns |
Related Pages
- Columns — column binding paths that determine tree structure
- Sources — expansion paths that define hierarchy loading
- Relationships — domain model relationship definitions
- Cardinality — relationship cardinality types
- Review Changes — review mode for inspecting modified rows
Source: Sheet component features, association management, domain model configuration
KB ArticlesSource Code
prod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/sheet/Associations.ts
DatabridgeMetadata.java
model.yaml
riskmanagement_model.yaml
powersheet.yaml