Use Grid Views

This page covers the in-editor workflow features for grid views. Two shared workflows, the Views Explorer and Save View Changes, are introduced in the Modeler essentials.

See also:

Working with Tables

Workflow features specific to table views.

Filter Rows

Type in the search bar at the top of the table to filter rows. The filter applies to all visible columns simultaneously.

Filtering rows in a table view via the search bar

Source Navigation

All column types support source navigation via the right-click context menu, with two actions:

  • Go to Row Element jumps to the element’s declaration in the .sysml file

  • Go to Cell Element jumps to the source of the specific cell value (e.g. the attribute declaration). When a cell has multiple source locations, a submenu lists each one

Navigating to a source element via the right-click context menu

Inline Editing

Cells in editable column types can be edited directly in the table or via the right-click context menu (View Row Details). Changes are written back to the model immediately.

Editing a cell directly in the table

Row Details

Right-clicking any row opens a context menu with a View Row Details action that opens a modal showing all columns for that row in a scrollable vertical layout. Editable fields can be edited directly inside the modal; changes are saved on confirm or discarded on cancel.

Row Details modal showing editable fields for a selected row

The Row Details modal renders documentation values as Markdown. This includes support for inline images using standard Markdown image notation:

![Alt text](path/to/image.png)

Images are resolved relative to the workspace root, useful for embedding diagrams or screenshots directly in requirement documentation.

Note

View Row Details is disabled while there are unsaved cell changes in the main table. Save or discard the pending changes first.

Create Requirements

When a table view is open, click the + Add Requirement button in the top right corner to open the creation dialog. Configure the fields and confirm to append the new element directly to the model file.

Creating a new requirement from the table view dialog

Definition or Usage

Select the kind of element to create:

  • Definition, a type declaration (requirement def), placed inside a package

  • Usage, an instance (requirement), placed inside a type such as a requirement definition or part definition

Switching between the two modes resets the namespace and relationship fields.

Namespace

The namespace dropdown lists model elements already exposed by the current table view. In Definition mode it lists packages; in Usage mode it lists type definitions that own at least one exposed element. If the selected namespace lies outside the view’s expose / filter scope, a warning is shown. Creation can still proceed, but the new row will not appear in the table until the view or filter is updated.

Short Name and Name

At least one of Short Name or Name must be provided. Both are independent; setting both gives the element a <short_name> and a 'declared name'.

Specializes / Typed By

An optional dropdown links the new element to an existing RequirementDefinition:

  • In Definition mode it is labelled Specializes (:>) and adds a Subclassification relationship to the generated definition

  • In Usage mode it is labelled Typed By (:) and adds a FeatureTyping relationship to the generated usage

SysML Preview

A live syntax preview below the name fields shows the exact SysML that will be appended to the model file, updating as fields change.

After confirming, the extension writes the change and refreshes all open table panels. The new row appears immediately if it satisfies the view’s filter expression.

Working with Matrices

Workflow features specific to matrix views.

Disabled Cells

Two situations disable the Add Traceability button for a given row or column element and show a warning:

  • No usage typed by that Definition exists in the cell namespace

  • More than one usage typed by that Definition exists; the target is ambiguous

For example, given:

package ExampleColumnNamespace {
    part def ColumnA;
    part def ColumnB;        // no usage in TraceabilityContext → creation disabled
}
package ExampleRowNamespace {
    part def RowA;
    part def RowB {
        part subpart_a : RowA;  // RowA reachable through RowB's subpart
    }
}
package ExampleTraceabilityNamespace {
    private import ExampleColumnNamespace::*;
    private import ExampleRowNamespace::*;
    item def TraceabilityContext {
        part column_a : ColumnA;  // typed by ColumnA ✔
        part row_b : RowB;        // typed by RowB ✔; RowA reachable via row_b.subpart_a
    }
}

The matrix marks ColumnB with a warning because no usage typed by it exists in TraceabilityContext, so the Add Traceability button is disabled for that column.