ViewRecord

Overview

A ViewRecord represents a row in a ViewFoundSet, with functionality tailored to handle specific record-related operations. Key properties include exception, which provides information on the last exception that occurred for the record, and foundset, which references the parent foundset. The recordMarkers property facilitates validation by retaining markers for issues until a record is successfully saved or manually cleared.

The ViewRecord object includes methods for examining and managing record state. For instance, getChangedData retrieves unsaved changes in a dataset format, while hasChangedData and isEditing determine whether the record has pending modifications. The createMarkers method allows manual creation of validation markers. Other methods, like revertChanges, undo unsaved modifications, and getPKs fetch the primary key values of a record. Additionally, isRelatedFoundSetLoaded verifies if a related foundset is already initialized without triggering its load.

For more information on managing records within the context of view foundsets, refer to the View foundset section of the documentation.

Extends

JSBaseSQLRecord

Properties Summarized

Type
Name
Summary

Returns last occurred exception on this record (or null).

Returns parent foundset of the record.

Returns the validation object if there where validation failures for this record Can be set to null again if you checked the problems, will also be set to null when a save was succesful.

Methods Summarized

Type
Name
Summary

Creates and returns a new validation object for this record, which allows for markers to be used outside the validation flow.

Returns a JSDataSet with outstanding (not saved) changed data of this record.

Returns the records datasource string.

Returns an array with the primary key values of the record.

Returns true if the current record has outstanding/changed data.

Returns true or false if the record has changes or not.

Returns true if the current record is a new record or false otherwise.

Returns true or false if the related foundset is already loaded.

void

Reverts the in memory outstanding (not saved) changes of the record.

Properties Detailed

exception

Returns last occurred exception on this record (or null).

Type Exception The occurred exception.

Sample

var exception = record.exception;

foundset

Returns parent foundset of the record.

Type JSFoundSet The parent foundset of the record.

Sample

var parent = record.foundset;

recordMarkers

Returns the validation object if there where validation failures for this record Can be set to null again if you checked the problems, will also be set to null when a save was succesful.

Type JSRecordMarkers The last validtion object if the record was not validated.

Sample

var recordMarkers = record.recordMarkers;

Methods Detailed

createMarkers()

Creates and returns a new validation object for this record, which allows for markers to be used outside the validation flow. Will overwrite the current markers if present. Can be set to null again if you checked the problems, will also be set to null when a save was successful.

Returns: JSRecordMarkers A new validation object.

Sample

var recordMarkers = record.createMarkers();

getChangedData()

Returns a JSDataSet with outstanding (not saved) changed data of this record. column1 is the column name, colum2 is the old data and column3 is the new data.

NOTE: To return an array of records with outstanding changed data, see the function foundset.getEditedRecords().

Returns: JSDataSet a JSDataSet with the changed data of this record.

Sample

/** @type {JSDataSet} */
var dataset = record.getChangedData()
for( var i = 1 ; i <= dataset.getMaxRowIndex() ; i++ )
{
	application.output(dataset.getValue(i,1) +' '+ dataset.getValue(i,2) +' '+ dataset.getValue(i,3));
}

getDataSource()

Returns the records datasource string.

Returns: String The datasource string of this record.

Sample

var ds = record.getDataSource();

getPKs()

Returns an array with the primary key values of the record.

Returns: Array an Array with the pk values.

Sample

var pks = foundset.getSelectedRecord().getPKs() // also foundset.getRecord can be used

hasChangedData()

Returns true if the current record has outstanding/changed data.

Returns: Boolean true if the current record has outstanding/changed data.

Sample

var hasChanged = record.hasChangedData();

isEditing()

Returns true or false if the record has changes or not.

As opposed to isEditing() of regular records, this method actually returns whether there are unsaved changes on this record, since there is no edit mode for view records.

Returns: Boolean true if unsaved changes are detected.

isNew()

Returns true if the current record is a new record or false otherwise. New record means not saved to database. Because this record is part of a view foundset, this method will always return false.

Returns: Boolean true if the current record is a new record, false otherwise;

Sample

var isNew = viewFoundset.getSelectedRecord().isNew();

isRelatedFoundSetLoaded(relationName)

Returns true or false if the related foundset is already loaded. Will not load the related foundset.

Parameters

  • String relationName name of the relation to check for

Returns: Boolean true if related foundset is loaded.

Sample

var isLoaded = viewfoundset.getSelectedRecord().isRelatedFoundSetLoaded(relationName)

revertChanges()

Reverts the in memory outstanding (not saved) changes of the record.

Returns: void

Sample

var record= foundset.getSelectedRecord();
record.revertChanges();

Last updated