Skip to main content


serial class HS.Types.Grid extends %Library.SerialObject, %XML.Adaptor

Container for 2-dimensional delimited data that dynamicall selects delimiters based on the data.

Property Inventory

Method Inventory


property CellDelimiter as %Integer;
Field delimiter, defaults to ASCII 31 - Unit Separator
Property methods: CellDelimiterDisplayToLogical(), CellDelimiterGet(), CellDelimiterIsValid(), CellDelimiterLogicalToDisplay(), CellDelimiterNormalize(), CellDelimiterSet(), CellDelimiterXSDToLogical()
property Columns as list of HS.Types.Grid.Axis (XMLITEMNAME = "Axis");
Column header definitions, if any.
Property methods: ColumnsBuildValueArray(), ColumnsCollectionToDisplay(), ColumnsCollectionToOdbc(), ColumnsDisplayToCollection(), ColumnsGet(), ColumnsGetObject(), ColumnsGetObjectId(), ColumnsGetSwizzled(), ColumnsIsValid(), ColumnsOdbcToCollection(), ColumnsSet(), ColumnsSetObject(), ColumnsSetObjectId()
property Data as %Stream.GlobalBinary;
The data table, as a stream to support any number of rows. All row access via API.
Property methods: DataDelete(), DataGet(), DataGetObject(), DataGetObjectId(), DataGetSwizzled(), DataIsValid(), DataNewObject(), DataOid(), DataOpen(), DataSet(), DataSetObject(), DataSetObjectId(), DataUnSwizzle()
property RowDelimiter as %Integer;
Line delimiter, defaults to ASCII 30 - Record Separator
Property methods: RowDelimiterDisplayToLogical(), RowDelimiterGet(), RowDelimiterIsValid(), RowDelimiterLogicalToDisplay(), RowDelimiterNormalize(), RowDelimiterSet(), RowDelimiterXSDToLogical()
property Rows as list of HS.Types.Grid.Axis (XMLITEMNAME = "Axis");
Row header defintions, if any. For example, a pivot-table would have row headers.
Property methods: RowsBuildValueArray(), RowsCollectionToDisplay(), RowsCollectionToOdbc(), RowsDisplayToCollection(), RowsGet(), RowsGetObject(), RowsGetObjectId(), RowsGetSwizzled(), RowsIsValid(), RowsOdbcToCollection(), RowsSet(), RowsSetObject(), RowsSetObjectId()
property Type as %String (MAXLEN = 220, XMLNAME = "type", XMLPROJECTION = "ATTRIBUTE");
Default data-type for cells in this table
Property methods: TypeDisplayToLogical(), TypeGet(), TypeIsValid(), TypeLogicalToDisplay(), TypeLogicalToOdbc(), TypeNormalize(), TypeSet()


method AddColumnHeader(pName As %String, pType As %String = "") as HS.Types.Grid.Axis
Add a column header
method AddRowHeader(pName As %String, pType As %String = "") as HS.Types.Grid.Axis
Add a row header
method CalculateHeaders() as %Status
Calculate the transient path, index and span for each header axis.
method GetColumnHeader(pColumn="", Output pSC=$$$OK) as HS.Types.Grid.Axis
Get the column header for the given index/path, or null on error.
method GetColumnIndex(pColumn="", Output pSC=$$$OK) as %Integer
Get the column header index for the given index/path, or null on error.
method GetRowHeader(pRow="", Output pSC=$$$OK) as HS.Types.Grid.Axis
Get the row header for the given index/path, or null on error.
method GetRowIndex(pRow="", Output pSC=$$$OK) as %Integer
Get the row header index for the given index/path, or null on error.
method InsertRow(pRow As %List) as %Status
Append a row
method NextRow(ByRef pIndex As %Integer = "", Output pSC=$$$OK) as %List
Returns the next row or null when no more rows.
method getAxisIndex(pWhich, pAxis, Output pSC=$$$OK) as %Integer
Return the row/column header index or error if not a terminal header
method nextDelim(ignore As %Integer, Output pSC=$$$OK) as %Integer
Get the next viable delimiter, or error if none remain
method updateDelimiters(pRow As %List) as %Status
Update viable delimiters based on row data. Returns error if no viable delimiters remain

Inherited Members

Inherited Methods

FeedbackOpens in a new tab