Skip to main content


deprecated abstract class %ZEN.Report.Display.COSChart.abstractController extends %ZEN.Report.Display.node

Property Inventory

Method Inventory


parameter DEFAULTVISIBLE = 0;
This component is not visible.


property defaultSeries as %ZEN.Datatype.integer (MINVAL = 1) [ Final , InitialExpression = 1 ];
Optional. If a DataModel has multiple dataSeries, then this specifies which DataSeries (1-based) should be used to provide values to DataViews that can only display values from one data series (such as a form).
Property methods: defaultSeriesDisplayToLogical(), defaultSeriesGet(), defaultSeriesIsValid(), defaultSeriesLogicalToDisplay(), defaultSeriesLogicalToOdbc(), defaultSeriesNormalize(), defaultSeriesSet()
property modelError as %ZEN.Datatype.string (XMLPROJECTION = "none") [ Final ];
Most recent error message reported by the DataModel object this dataController is connected to. This is set to a non-empty string after a save, load, or delete operation encounters an error.
Property methods: modelErrorDisplayToLogical(), modelErrorGet(), modelErrorIsValid(), modelErrorLogicalToDisplay(), modelErrorLogicalToOdbc(), modelErrorNormalize(), modelErrorSet()
property modelId as %ZEN.Datatype.string (ZENEXPRESSION = 1) [ Final ];
ID value passed to the DataModel class.
You can change this value using the client-side setModelId() method. This will cause a new object to be loaded into the controller.
Property methods: modelIdDisplayToLogical(), modelIdGet(), modelIdIsValid(), modelIdLogicalToDisplay(), modelIdLogicalToOdbc(), modelIdNormalize(), modelIdSet()
property readOnly as %ZEN.Datatype.boolean [ Final , InitialExpression = 0 ];
If true, this data controller is read only regardless of whether its corresponding data model is read only or not.
Property methods: readOnlyDisplayToLogical(), readOnlyGet(), readOnlyIsValid(), readOnlyLogicalToDisplay(), readOnlyLogicalToOdbc(), readOnlyLogicalToXSD(), readOnlyNormalize(), readOnlySet(), readOnlyXSDToLogical()


classmethod %DeleteModelInstance(pClass As %String, pID As %String) as %Status
Delete an instance of a DataModel object.
method %GetDataByName(pProperty As %String)
Get a data value, by property name, from this dataController.
method %GetModelPropertyList(Output pSC As %Status) as %String
Return a comma-delimited list of the properties contained in the current DataModel class.
A property in the list may include type and label information in the form:
method %GetTypeByName(pProperty As %String)
Get a data type, by property name, from this dataController.
method %SetDataByName(pProperty As %String, pValue As %String)
Set a data value, by property name, into this dataController.
clientmethod createNewObject() [ Language = javascript ]
Ask our associated dataModel to create a new (unsaved) instance.
clientmethod deleteId(id) [ Language = javascript ]
Ask our associated dataModel to delete the item with the given id. Returns true if the delete was successful. If the dataModel is readOnly, then the delete will not happen.
method execValidationCode(property, value)
Internal method.
Execute client side validation code for this controller.
method getData(d1, d2, d3)
dataSet API Return the data contained in the specified location. Location is 0-based;
method getDataAsArrays(ByRef values)
This is a specialized variant of getData() that return the data in this controller as an array of arrays (used by charts).
clientmethod getDataAsObject(series) [ Language = javascript ]
TBD - 08/29/2012 JSL This is a specialized variant of getData() that returns the data in this controller as a zenProxy object (associative array).
The return value of this object is a zenProxy object with properties that correspond to the properties of the current Data Model object. The value of each property in the returned object corresponds to the value in the Data Model object.
If the Data Model supports more than one data series, then the series parameter (0-based) specifies which series to use (the default is series 0).
Refer to the %ZEN.proxyObject for more details.
method getDataByName(property, series)
dataBag API Get a data value, by property name, from this dataController.
method getDimSize(dim)
dataSet API Return the number of items in the specified dimension (dim is 1,2, or 3).
method getDimensions()
dataSet API Return number of dimensions within the dataModel. There are 2 dimensions: The first is the set of properties, the second has a typical size of 1.
The second dimension may be larger than 1 in cases where the model serves multiple series for a given model instance. (Such as when providing mulitple data series for charts).
method getError()
Return the latest error message encountered by this data controller. Call this after a save, load, or delete operation to test if an error occurred.
This will return '' if there is no current error.
method getLabel(n, dim)
dataSet API Get the label at position n (0-based) in the given dimension (1,2, or 3).
method getModelId()
Return the current model id associated with this dataController.
method getPropertyName(n)
Given a 0-based index, return the corresponding property name.
method getTypeByName(property)
Get the type code for a property given its name.
clientmethod hasData() [ Language = javascript ]
Return true if this controller currently contains data loaded from a DataModel.
clientmethod invokeAction(action, data) [ Language = javascript ]
Invoke a named action on our associated dataModel. An action is an arbitrary operation that is defined by a specific dataModel class. data is an arbitary value passed along with the action.
method isModelReadOnly()
Test if the current data model is read-only.
method isPropertyValid(property, value)
Test if a given value for a property is valid.
clientmethod save() [ Language = javascript ]
Save data from this dataController back to the DataModel on the server. Return the id with which the model was saved or '' if it was not saved.
method setData(value, d1, d2, d3)
dataSet API Set the data contained in the specified location. Location is 0-based;
method setDataByName(property, value, series)
dataBag API Set a data value, by property name, into this dataController.
If property is "%id", then change the id of this controller.
If property is "%series", then change the defaultSeries of this controller.
clientmethod setModelId(id) [ Language = javascript ]
TBD 08-29-2012 JSL Set the value of the modelId property for this controller. This will cause new data to be loaded and any views connected to this controller to refresh.
This is equivalent to calling setProperty('modelId',id) and is defined for convenience.
clientmethod setProperty(property, value, value2) [ Language = javascript ]
TBD - 08-29-2012 JSL, not clear how to invoke super Set the value of a named property.

Inherited Members

Inherited Properties

Inherited Methods


FeedbackOpens in a new tab