Skip to main content
Matrix42 Self-Service Help Center

Object Relations Grid


Object Relation Grid is designed to manage relations between Configuration Item objects. 



Relation: relation for the  object relations grid selected from the Data Model, e.g. SPSArticleClassBase.Categories.

Object ID: Object ID must be specified for all entities except for Dialogs and Previews in which the relation is for the current object.

Entity Class: Entity Class for the object relations grid, e.g. Service.

Relation Attribute Name: name of the relation attribute which belongs to the above specified Entity Class.

Allowed Types: types allowed for the object relations grid, e.g. Incidents.

Filter: ASQL expression to filter data shown both in the object relations grid and in the Browse dialog that appears when you click +Add in the object relations grid toolbar to locate and add new items to the grid. For example, you can filter both grids to show not all the relations but only incidents.

Browse Where Clause: ASQL expression to filter relations that can be +Added (via the Browse dialog) to the grid so you can add not all the relations but only relations that satisfy certain filtering criteria.

Column Definition: name of the data query for both the object relations grid and the grid in the Browse dialog that appears when you click +Add in the header of the grid to locate and add new items to the object relations grid.

Relation Class Name: name of the referenced class.

Current Item: output variable to which the current (just clicked) item on a grid is assigned.


Help: help for the object relations grid to be available from the header of the grid via the ? icon.

Label: label that appears in the header of the object relation grid in run time.

Show Label: select to display the above specified label in the header of the object relations grid in run time.

Disabled: select to disable the grid.

Read-only: select to make the grid read-only.

Required: select to make the object relations grid required.

Name: name of the object relations grid.


Hide Grid Header: select the checkbox to hide the grid’s header with the title (label), buttons, etc.

Full Height: select to use the available space.

Disable Delete: select to disable the Remove button in the header of the grid.

Visibility: not only the static True or False value can be selected but also a value from the Data Model. 

Margin: Set control’s margin offset in CSS format: ‘10px’, ‘1rem’, ‘1rem 2rem’ (top, right, bottom, left).

Padding: set control’s padding in CSS format: ‘10px’, ‘1rem’, ‘1rem 2rem’ (top, right, bottom, left).

Flex option: select flex behavior for the control: Fixed or Flex.

DeviceVisibility: select devices for which the control is visible: Desktop, Tablet, Mobile.


Complex object which reflects the changes of data relations. Due to possibility to deal with huge amount of the related objects, the Value does not keep the array of all related objects, but only list of affected changes in current session. 

    AddedRelations:['{id1}', '{id2}'],
// where {id1}, {id2}, {id3} - unique objects identificators (guid)

The data on the grid are loaded based on the Data Definition Relation definition, but the changes like adding or removing items are reflected in Value. On submitting the From with Relation Grid, only appropriate actions are executed, what solves also the problem with concurrent editing of relations.

Use Case: Dynamically add data to Object Relation Grid

In case you are creating a Dialog for editing, and want on object creation automatically pre-fill the relations in Object Relation Grid, depending on some current context, e.g. current user, or some interactive input.

The example shows how to add dynamically to Related Incidents all the Incidents of the user defined as initiator.

  1. Create a Data Source which obtains all the related incidents depending of specified Initiator (InitiatorIncidents)
  2. Define the special logic for the property which keeps data of the target relation (Incident.ChildActivities) to get data from the InitiatorIncidents data source.

Code to copy:

if (incidents.$value.length) {
  return {
    AddedRelations: incidents.$ {
      return inc.ID;
    RemovedRelations: []
return $value;


  • Was this article helpful?