Properties Methods Events Direct Link

# Class Ext.data.Record

Package: | Ext.data
Defined In: | Record.js
Class: | Record
Extends: | Object

Instances of this class encapsulate both Record definition information, and Record value information for use in Ext.data.Store objects, or any code which needs to access Records cached in an Ext.data.Store object.

Constructors for this class are generated by passing an Array of field definition objects to create. Instances are usually only created by Ext.data.Reader implementations when processing unformatted data objects.

Note that an instance of a Record class may only belong to one Store at a time. In order to copy data from one Store to another, use the copy method to create an exact copy of the Record, and insert the new instance into the other Store.

When serializing a Record for submission to the server, be aware that it contains many private properties, and also a reference to its owning Store which in turn holds references to its Records. This means that a whole Record may not be encoded using Ext.util.JSON.encode. Instead, use the data and id properties.

Record objects generated by this constructor inherit all the methods of Ext.data.Record listed below.

## Public Properties

Property | Defined By
--- | ---
| data : Object An object hash representing the data for this Record. Every field name in the Record definition is represented by a ... An object hash representing the data for this Record. Every field name in the Record definition is represented by a property of that name in this object. Note that unless you specified a field with name "id" in the Record definition, this will not contain an `id` property. | Record
| dirty : Boolean Readonly flag - true if this Record has been modified. | Record
| fields : Ext.util.MixedCollection This property is stored in the Record definition's prototype A MixedCollection containing the defined Fields for this... This property is stored in the Record definition's prototype A MixedCollection containing the defined Fields for this Record. Read-only. | Record
| id : Object The unique ID of the Record as specified at construction time. | Record
| modified : Object This object contains a key and value storing the original values of all modified fields or is null if no fields have ... This object contains a key and value storing the original values of all modified fields or is null if no fields have been modified. | Record

## Public Methods

Method | Defined By
--- | ---
| Record( `Object data`, [`Object id`] ) This constructor should not be used to create Record objects. Instead, use create to generate a subclass of Ext.data.... This constructor should not be used to create Record objects. Instead, use create to generate a subclass of Ext.data.Record configured with information about its consituent fields. Parameters: `data` : Object An object, the properties of which provide values for the new Record's fields. `id` : Object (Optional) The id of the Record. This id should be unique, and is used by the Ext.data.Store object which owns the Record to index its collection of Records. If not specified an integer id is generated. Returns: `` | Record
| beginEdit() : void Begin an edit. While in edit mode, no events are relayed to the containing store. Begin an edit. While in edit mode, no events are relayed to the containing store. Parameters: None. Returns: `void` | Record
| cancelEdit() : void Cancels all changes made in the current edit operation. Cancels all changes made in the current edit operation. Parameters: None. Returns: `void` | Record
| commit( [`Boolean silent`] ) : void Usually called by the Ext.data.Store which owns the Record. Commits all changes made to the Record since either creat... Usually called by the Ext.data.Store which owns the Record. Commits all changes made to the Record since either creation, or the last commit operation. Developers should subscribe to the Ext.data.Store.update event to have their code notified of commit operations. Parameters: `silent` : Boolean (optional) True to skip notification of the owning store of the change (defaults to false) Returns: `void` | Record
| copy( [`String id`] ) : Record Creates a copy of this Record. Creates a copy of this Record. Parameters: `id` : String (optional) A new Record id if you don't want to use this Record's id Returns: `Record` | Record
- | create( [`Array o`] ) : function <static> Generate a constructor for a specific Record layout. <static> Generate a constructor for a specific Record layout. Parameters: `o` : Array An Array of field definition objects which specify field names, and optionally, data types, and a mapping for an Ext.data.Reader to extract the field's value from a data object. Each field definition object may contain the following properties: name : String The name by which the field is referenced within the Record. This is referenced by, for example, the `dataIndex` property in column definition objects passed to Ext.grid.ColumnModel mapping : String/Number (Optional) A path specification for use by the Ext.data.Reader implementation that is creating the Record to select the field value from the data object. If an Ext.data.JsonReader is being used, then this is a string containing the javascript expression to reference the data relative to the Record item's root. Defaults to the field name. If an Ext.data.XmlReader is being used, this is an Ext.DomQuery path to the data item relative to the DOM element that represents the Record. Defaults to the field name. If an Ext.data.ArrayReader is being used, this may be a number indicating the Array index of the field's value. Defaults to the field specification's Array position. type : String (Optional) The data type for conversion to displayable value. Possible values are auto (Default, implies no conversion) string int float boolean date sortType : Function (Optional) A function which converts a Field's value to a comparable value in order to ensure correct sort ordering. Predefined functions are provided in Ext.data.SortTypes. sortDir : String (Optional) Initial direction to sort. "ASC" or "DESC" convert : Function (Optional) A function which converts the value provided by the Reader into an object that will be stored in the Record. It is passed the following parameters: v : Mixed The data value as read by the Reader. rec : Mixed The data object containing the row as read by the Reader. Depending on Reader type, this could be an Array, an object, or an XML element. dateFormat : String (Optional) A format string for the Date.parseDate function, or "timestamp" if the value provided by the Reader is a UNIX timestamp, or "time" if the value provided by the Reader is a javascript millisecond timestamp. defaultValue : Mixed (Optional) The default value used when a Record is being created by a Reader when the item referenced by the `mapping` does not exist in the data object (i.e. undefined). (defaults to "") The constructor generated by this method may be used to create new Record instances. The data object must contain properties named after the field names. usage:
      // create a Record constructor from a description of the fields
      var TopicRecord = Ext.data.Record.create([ // creates a subclass of Ext.data.Record
          {name: 'title', mapping: 'topic_title'},
          {name: 'author', mapping: 'username'},
          {name: 'totalPosts', mapping: 'topic_replies', type: 'int'},
          {name: 'lastPost', mapping: 'post_time', type: 'date'},
          {name: 'lastPoster', mapping: 'user2'},
          {name: 'excerpt', mapping: 'post_text'},
          'signature' // see Note below
      ]);

      // create Record instance
      var myNewRecord = new TopicRecord(
          {
              title: 'Do my job please',
              author: 'noobie',
              totalPosts: 1,
              lastPost: new Date(),
              lastPoster: 'Animal',
              excerpt: 'No way dude!'
          },
          id // optionally specify the id of the record otherwise one is auto-assigned
      );
      myStore.add(myNewRecord);
Note: In the simplest case, if no properties other than `name` are required, a field definition may consist of just a field name string. Returns: `function` A constructor which is used to create new Records according to the definition. The constructor has the same signature as {@link #Ext.data.Record}. | Record
| endEdit() : void End an edit. If any data was modified, the containing store is notified. End an edit. If any data was modified, the containing store is notified. Parameters: None. Returns: `void` | Record
| get( `String name` ) : Object Get the value of the named field. Get the value of the named field. Parameters: `name` : String The name of the field to get the value of. Returns: `Object` The value of the field. | Record
| getChanges() : Object Gets a hash of only the fields that have been modified since this Record was created or commited. Gets a hash of only the fields that have been modified since this Record was created or commited. Parameters: None. Returns: `Object` | Record
| isModified( `String fieldName` ) : Boolean Returns true if the field passed has been modified since the load or last commit. Returns true if the field passed has been modified since the load or last commit. Parameters: `fieldName` : String Returns: `Boolean` | Record
| reject( [`Boolean silent`] ) : void Usually called by the Ext.data.Store which owns the Record. Rejects all changes made to the Record since either creat... Usually called by the Ext.data.Store which owns the Record. Rejects all changes made to the Record since either creation, or the last commit operation. Modified fields are reverted to their original values. Developers should subscribe to the Ext.data.Store.update event to have their code notified of reject operations. Parameters: `silent` : Boolean (optional) True to skip notification of the owning store of the change (defaults to false) Returns: `void` | Record
| set( `String name`, `Object value` ) : void Set the named field to the specified value. Set the named field to the specified value. Parameters: `name` : String The name of the field to set. `value` : Object The value to set the field to. Returns: `void` | Record

## Public Events

This class has no public events.