JSRecord
Overview
The JSRecord
class represents a single row within a JSFoundset
, extending the capabilities of JSBaseSQLRecord
. It provides various methods and properties to access, modify, validate, and manage records in Servoy.
Functionality
This class offers properties to retrieve the parent foundset, check for validation errors through recordMarkers
, and access any exceptions encountered during operations. It allows developers to track and manage the state of a record, such as checking whether it is new, edited, or deleted.
The JSRecord
methods include features to revert unsaved changes, save records, and retrieve data about the record, such as its primary keys, data source, and outstanding changed data. Developers can also create custom validation markers for additional record checks and validations. The class ensures flexibility by providing utilities for checking the loaded state of related foundsets and handling record edits efficiently.
For more details, refer to the JSFoundset documentation.
Extends
Properties Summarized
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 successful.
Methods Summarized
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 if the current record is a deleted record or false otherwise.
Returns true or false if the record is being edited 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.
Saves the in memory outstanding (not saved) changes of the record and stops its editing.
Properties Detailed
exception
Returns last occurred exception on this record (or null).
Type Exception The occurred exception.
Sample
foundset
Returns parent foundset of the record.
Type JSFoundSet The parent foundset of the record.
Sample
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 successful.
Type JSRecordMarkers The last validation object if the record was not validated.
Sample
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
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 databaseManager.getEditedRecords().
Returns: JSDataSet a JSDataSet with the changed data of this record.
Sample
getDataSource()
Returns the records datasource string.
Returns: String The datasource string of this record.
Sample
getPKs()
Returns an array with the primary key values of the record.
Returns: Array an Array with the pk values.
Sample
hasChangedData()
Returns true if the current record has outstanding/changed data.
Returns: Boolean true if the current record has outstanding/changed data.
Sample
isDeleted()
Returns true if the current record is a deleted record or false otherwise. The deletion has not been done in the database itself.
Returns: Boolean true if the current record is a deleted record, false otherwise;
Sample
isEditing()
Returns true or false if the record is being edited or not.
This will not check if the record doesn't really have any changes, it just returns the edit state. So this can return true but databaseManager.getEditedRecord() will not return this record because that call will check if the record has really any changed values compared to the stored database values. Record can be in edit mode without changes when some field is focused (so edit is started) but no changes are done yet or when changes were done in such a way that record data is the same as database data.
Returns: Boolean a boolean when in edit.
Sample
isNew()
Returns true if the current record is a new record or false otherwise. New record means not saved to database.
Returns: Boolean true if the current record is a new record, false otherwise;
Sample
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 a boolean when loaded.
Sample
revertChanges()
Reverts the in memory outstanding (not saved) changes of the record.
Returns: void
Sample
save()
Saves the in memory outstanding (not saved) changes of the record and stops its editing.
Returns: Boolean true if the save was done without an error.
Sample
Last updated