Editable Data Grid

From Mea Wiki
Jump to navigation Jump to search

Editable Data Grid is a table, that shows data from QPR Suite and the data can also be edited. The Editable Data Grid uses QPR Suite Web Service to query and save data, and thus QPR Suite Web Service properties define which kind of data can be edited. Mainly QPR Metrics, QPR Portal action forms and QPR Suite user management data can be edited, where as QPR ProcessDesigner or QPR EnterpriceArchitect cannot be edited.

Data shown in the data grid is fetched using QPR Suite Web Service query, where each row is linked to one QPR Suite object, and each column is linked to one attribute in the QPR Suite Web Service. Note that the editable data grid does not use datasets to fetch data.

Editable data grid is configured using JSON settings field that is available in the Data grid settings in the Presentation tab. The following table shows all available settings. See configuration examples below the table.

Property Description
additionalAttributes List of attributes and values that are saved to the object when it's created. Can be used to define a fixed parent object id for all created objects. Defined as a JSON object where the property name is the attribute name, and property value is the attribute value.

Example:

"additionalAttributes": {
  "attribute1": "value1",
  "attribute2": "value2"
}
selectedRowVariable Local context variable where currently selected row's object id of stored. Note that the selected row doesn't change, when the context variable is changed from somewhere else.
query Query parameter for the QPR Suite Web Service query to get the rows to the editable data grid. More information: http://kb.qpr.com/qpr2017-1/index.html?queryobjects.htm.
sortBy Sorting parameter for the QPR Suite Web Service query to get the rows to the editable data grid.
queryOptions Options parameter for the QPR Suite Web Service query to get the rows to the editable data grid.
parentAttribute (Will be supported in QPR UI 2018.3) Attribute name that is used as parent object when creating new objects to QPR Suite. The referenced parent attribute must exist either in the defined columns or in the additionalAttributes. The first case is better when user needs to select the parent from multiple options, and the latter is better when there is a fixed parent for all the created objects.
createObjectOptions (Will be supported in QPR UI 2018.3) Options parameter for the QPR Suite Web Service CreateObject operation (http://kb.qpr.com/qpr2017-1/index.html?createobject2.htm), that is used when a new row is created that is not based on a template object.
createCopyOptions (Will be supported in QPR UI 2018.3) Options parameter for the QPR Suite Web Service CreateCopy operation (http://kb.qpr.com/qpr2017-1/index.html?createcopy3.htm), that is used when a new row is created based on a template object.
deleteObjectOptions (Will be supported in QPR UI 2018.3) Options parameter for the QPR Suite Web Service DeleteObjects operation (http://kb.qpr.com/qpr2017-1/index.html?deleteobject2.htm), that is used when a row is deleted from the data grid.
setAttributeOptions (Will be supported in QPR UI 2018.3) Options parameter for the QPR Suite Web Service SetAttribute operation (http://kb.qpr.com/qpr2017-1/index.html?setattribute.htm), that is used when an attribute value is set.
columns Array of objects where each represent a column in the editable data grid. Following properties can be used:
Property Description
attribute QPR Suite Web Service attribute name. List of available attributes: http://kb.qpr.com/qpr2017-1/index.html?supported_parameters.htm.
attributeParameters Parameters for the attribute. For example, value attribute supports period and series parameters, which are defined as follows: period=Q1/2018,series=ACT.
headerText Column header text that is visible to users. Syncfusion Grid setting.
inputType
  • checkbox: shows a checkbox, which is used for storing two possible values. The possible values are defined in trueValue and falseValue properties.
  • date: shows a date selector that can store values using XML date format (e.g. 2018-10-05T16:26:42). When reading data, both XML date format and Excel style are accepted.
  • dropdown: shows a dropdown list where user can select from a list of predefined items. The items are defined in the dropdownOptions property.
  • numericbox: shows a textbox for numeric values. It's not possible to input textual data.
  • relation: (Will be supported in QPR UI 2018.3) shows a dropdown list where a QPR Suite object can be selected. Id of the selected object is stored as the relation attribute value.
  • textbox: shows a textbox for storing string values.
dropdownOptions

Selectable options for the dropdown menu as an array. Only used when type is dropdown. The array has the following properties:

Property Description
label Visible text in the dropdown list.
value Attribute value to store to QPR Suite when an item is selected in the dropdown list.
trueValue Attribute value corresponding to checkbox checked state of a checkbox. Used only used when type is checkbox.
falseValue Attribute value corresponding to checkbox unchecked state. Used only used when type is checkbox.
relationQuery (Will be supported in QPR UI 2018.3) Query to get the list of objects to be selected from dropdown list. Used only used when type is relation.
relationAttribute (Will be supported in QPR UI 2018.3) Attribute to show in the list of object in the dropdown menu. Used only used when type is relation.
validationRules

Validation rules for the column. Provided values must pass the validations so that they can be saved. Following validation rules are available:

  • required (boolean): Value is required, i.e. it cannot be empty.
  • minlength (integer): Minimum number of charactes in a textual value.
  • maxlength (integer): Maximum number of charactes in a textual value.
  • range (two integers): Requires the value to be in given value range.
  • min (integer): Minimum for numeric value.
  • max (integer): Maximum for numeric value.
  • email (boolean): The value must be a valid email address.
  • url (boolean): The value must be a valid email URL.
  • digits (boolean): The value must contain digits only.

Examples:

"validationRules": { "required": true, "minlength": 3 }
"validationRules": { "range": [0, 100] }
allowEditing Enables (true) or disables (false) editing for the column. By default editing is disabled. Syncfusion Grid setting.
format Syncfusion Grid setting. Documentation: https://help.syncfusion.com/js/grid/columns#format.

[other syncfusion settings]

All Syncfusion datagrid settings can be used: https://help.syncfusion.com/api/js/ejgrid#members:columns

[other syncfusion settings]

All Syncfusion datagrid settings can be used: https://help.syncfusion.com/api/js/ejgrid#members:columns

Configuration examples

Example 1: List all scorecards in the Metrics environment, and

{
  "query": "[SC].models.scorecard",
  "sortBy": "name",
  "selectedRowVariable": "selectedScorecardId",
  "columns": [
    {"attribute": "name", "headerText":"<#myColumnName>", "type": "textbox"},
    {"attribute": "symbol", "headerText": "Symbol", "type": "textbox"},
    {"attribute": "description", "headerText": "Description", "type": "textbox"} 
  ]
}

Example 2: List of measures in a single scorecard. The scorecard id must be available in the myScorecard variable.

{
  "query": "[<#myScorecard>].measures",
  "sortBy": "name",
  "selectedRowVariable": "selectedMeasureId",
  "columns": [
    {"attribute": "name", "headerText":"<#myColumnName>", "type": "textbox"},
    {"attribute": "Numeric value", attributeParameters="series=\"ACT\"" "headerText": "Measure value", "type": "numericbox"},
    {"attribute": "Date value", attributeParameters="series=\"DATE\"" "headerText": "Measure date", "type": "date"} 
  ]
}

Example 3: (Will be supported in QPR UI 2018.3) The following settings can be used to control, whether there are adding, deleting and editing functions available:

{
  "editSettings": {
    "allowAdding": true,
    "allowDeleting": true,
    "allowEditing": true
  },
  "toolbarSettings": {
    "showToolbar": true,
    "toolbarItems": ["add", "edit", "delete", "update", "cancel"]
  }                             
}

Note that the batch editing is not supported by the editable data grid ("editSettings": { "editMode" : "batch" })