Logo ProcessCore

Table Type

A live tabular view of a group of LabProcess nodes that share the same name. Wraps the underlying processes directly — reads decompose on the fly, writes compose back into the process graph.

Constructors

Constructor Description

Table(name, processes, dataset)

Full Usage: Table(name, processes, dataset)

Parameters:
Returns: Table
name : string
processes : ResizeArray<LabProcess>
dataset : Dataset
Returns: Table

Instance members

Instance member Description

this.AddColumn

Full Usage: this.AddColumn

Parameters:

Add an annotation column (Parameter/Factor/Characteristic/Component) to the table. Appends the corresponding PropertyValue to the right slot of every process node. Non-annotation headers (Input, Output, ProtocolREF, etc.) are ignored here — use the row API for I/O and protocol fields.

header : CompositeHeader
?cells : ResizeArray<CompositeCell>

this.AddRow

Full Usage: this.AddRow

Parameters:

Create and register a new LabProcess for this table, using the existing process structure as a template. Optionally supply cell values for each column.

?cells : ResizeArray<CompositeCell>
?index : int

this.AppendRow

Full Usage: this.AppendRow

Parameters:

Append an empty row (one new LabProcess with no annotations).

?cells : ResizeArray<CompositeCell>

this.ColumnCount

Full Usage: this.ColumnCount

Returns: int

Number of columns (derived from current process state).

Returns: int

this.Columns

Full Usage: this.Columns

Returns: ResizeArray<CompositeColumn>

All columns as CompositeColumn objects (derived live).

Returns: ResizeArray<CompositeColumn>

this.Dataset

Full Usage: this.Dataset

Returns: Dataset

The parent dataset.

Returns: Dataset

this.Decompose

Full Usage: this.Decompose

Returns: ResizeArray<CompositeColumn>
 Derive the ordered list of CompositeColumns from the current process list.
 Column order: Input → ProtocolREF → ProtocolType → ProtocolDesc → ProtocolUri →
   ProtocolVersion → Characteristics → Components → Parameters → Factors → Output
Returns: ResizeArray<CompositeColumn>

this.GetCellAt

Full Usage: this.GetCellAt

Parameters:
    columnIndex : int
    rowIndex : int

Returns: CompositeCell

Get a cell at (columnIndex, rowIndex). Raises if out of range.

columnIndex : int
rowIndex : int
Returns: CompositeCell

this.GetColumn

Full Usage: this.GetColumn

Parameters:
    columnIndex : int

Returns: CompositeColumn

Get a column by index. Raises if out of range.

columnIndex : int
Returns: CompositeColumn

this.GetComponentColumns

Full Usage: this.GetComponentColumns

Returns: ResizeArray<CompositeColumn>

Get all Component-typed columns.

Returns: ResizeArray<CompositeColumn>

this.GetRow

Full Usage: this.GetRow

Parameters:
    rowIndex : int

Returns: ResizeArray<CompositeCell>

Get all cells of a row as an ordered sequence (one cell per column).

rowIndex : int
Returns: ResizeArray<CompositeCell>

this.Headers

Full Usage: this.Headers

Returns: ResizeArray<CompositeHeader>

Derive headers from the current process state.

Returns: ResizeArray<CompositeHeader>

this.Name

Full Usage: this.Name

Returns: string
Returns: string

this.Processes

Full Usage: this.Processes

Returns: ResizeArray<LabProcess>

The underlying process nodes this table projects.

Returns: ResizeArray<LabProcess>

this.RemoveColumn

Full Usage: this.RemoveColumn

Parameters:

Remove the first annotation column matching the given header from every process node.

header : CompositeHeader

this.RemoveRow

Full Usage: this.RemoveRow

Parameters:
    rowIndex : int

Remove the row at `rowIndex` from both the table view and the parent dataset.

rowIndex : int

this.RowCount

Full Usage: this.RowCount

Returns: int

Number of visible rows in the table projection.

Returns: int

this.TryGetCellAt

Full Usage: this.TryGetCellAt

Parameters:
    columnIndex : int
    rowIndex : int

Returns: CompositeCell option

Try to get a cell at (columnIndex, rowIndex). Returns None if out of range.

columnIndex : int
rowIndex : int
Returns: CompositeCell option

this.TryGetColumnByHeader

Full Usage: this.TryGetColumnByHeader

Parameters:
Returns: CompositeColumn option

Try to find the first column whose header matches the predicate.

predicate : CompositeHeader -> bool
Returns: CompositeColumn option

this.TryGetInputColumn

Full Usage: this.TryGetInputColumn

Returns: CompositeColumn option

Get the Input-typed column, if present.

Returns: CompositeColumn option

this.TryGetOutputColumn

Full Usage: this.TryGetOutputColumn

Returns: CompositeColumn option

Get the Output-typed column, if present.

Returns: CompositeColumn option

this.UpdateRow

Full Usage: this.UpdateRow

Parameters:

Replace all cells in the row at `rowIndex` by updating the underlying process node.

rowIndex : int
cells : ResizeArray<CompositeCell>

Type something to start searching.