| autoDestroy : Booleantrue to destroy the store when the component the store is bound
+myStore. insert(0, r); // insert a new record into the store (also see add)
+ Writing Data
+ And new in Ext version 3, use the new DataWriter to create an automated, Writable Store
+along with RESTful features. Config Options|
| autoDestroy : Booleantrue to destroy the store when the component the store is bound
to is destroyed (defaults to false).
Note: this shoul... true to destroy the store when the component the store is bound
to is destroyed (defaults to false).
@@ -226,68 +229,70 @@ If the Reader was constructed by passing... The Ext.data.Record. create for additional details).
This property may be used to create new Records of the type held in this Store, for example: // create the data store
-var store = new Ext.data.ArrayStore({
- autoDestroy: true,
- fields: [
- {name: 'company'},
- {name: 'price', type: 'float'},
- {name: 'change', type: 'float'},
- {name: 'pctChange', type: 'float'},
- {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
- ]
-});
-store.loadData(myData);
+ var store = new Ext.data.ArrayStore({
+ autoDestroy: true,
+ fields: [
+ {name: 'company'},
+ {name: 'price', type: 'float'},
+ {name: 'change', type: 'float'},
+ {name: 'pctChange', type: 'float'},
+ {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
+ ]
+ });
+ store.loadData(myData);
-// create the Grid
-var grid = new Ext.grid.EditorGridPanel({
- store: store,
- colModel: new Ext.grid.ColumnModel({
- columns: [
- {id:'company', header: 'Company', width: 160, dataIndex: 'company'},
- {header: 'Price', renderer: 'usMoney', dataIndex: 'price'},
- {header: 'Change', renderer: change, dataIndex: 'change'},
- {header: '% Change', renderer: pctChange, dataIndex: 'pctChange'},
- {header: 'Last Updated', width: 85,
- renderer: Ext.util.Format.dateRenderer('m/d/Y'),
- dataIndex: 'lastChange'}
- ],
- defaults: {
- sortable: true,
- width: 75
- }
- }),
- autoExpandColumn: 'company', // match the id specified in the column model
- height:350,
- width:600,
- title:'Array Grid',
- tbar: [{
- text: 'Add Record',
- handler : function(){
- var defaultData = {
- change: 0,
- company: 'New Company',
- lastChange: (new Date()).clearTime(),
- pctChange: 0,
- price: 10
- };
- var recId = 3; // provide unique id
- var p = new store.recordType(defaultData, recId); // create new record
- grid.stopEditing();
- store.insert(0, p); // insert a new record into the store (also see add)
- grid.startEditing(0, 0);
- }
- }]
-});
| Store |
Public Methods|
| Store( Object config )
+ // create the Grid
+ var grid = new Ext.grid.EditorGridPanel({
+ store: store,
+ colModel: new Ext.grid.ColumnModel({
+ columns: [
+ {id:'company', header: 'Company', width: 160, dataIndex: 'company'},
+ {header: 'Price', renderer: 'usMoney', dataIndex: 'price'},
+ {header: 'Change', renderer: change, dataIndex: 'change'},
+ {header: '% Change', renderer: pctChange, dataIndex: 'pctChange'},
+ {header: 'Last Updated', width: 85,
+ renderer: Ext.util.Format.dateRenderer('m/d/Y'),
+ dataIndex: 'lastChange'}
+ ],
+ defaults: {
+ sortable: true,
+ width: 75
+ }
+ }),
+ autoExpandColumn: 'company', // match the id specified in the column model
+ height:350,
+ width:600,
+ title:'Array Grid',
+ tbar: [{
+ text: 'Add Record',
+ handler : function(){
+ var defaultData = {
+ change: 0,
+ company: 'New Company',
+ lastChange: (new Date()).clearTime(),
+ pctChange: 0,
+ price: 10
+ };
+ var recId = 3; // provide unique id
+ var p = new store.recordType(defaultData, recId); // create new record
+ grid.stopEditing();
+ store.insert(0, p); // insert a new record into the store (also see add)
+ grid.startEditing(0, 0);
+ }
+ }]
+ }); | Store |
Public Methods|
| Store( Object config )
| Store | | add( Ext.data.Record[] records )
+and read the data into Records.Returns: | Store | | add( Ext.data.Record[] records )
:
voidAdd Records to the Store and fires the add event. To add Records
to the store from a remote source use load({add:tru... Add Records to the Store and fires the add event. To add Records
to the store from a remote source use load({add:true}) .
See also recordType and insert . Parameters:records : Ext.data.Record[]An Array of Ext.data.Record objects
-to add to the cache. See recordType. Returns: | Store | | addEvents( Object object )
+to add to the cache. See recordType.Returns: | Store | | addEvents( Object|String o , string Optional. )
:
- voidUsed to define events on this Observable Used to define events on this Observable | Observable | | addListener( String eventName , Function handler , [Object scope ], [Object options ] )
+ voidAdds the specified events to the list of events which this Observable may fire. Adds the specified events to the list of events which this Observable may fire. | Observable | | addListener( String eventName , Function handler , [Object scope ], [Object options ] )
:
voidAppends an event handler to this object. Appends an event handler to this object. Parameters:eventName : StringThe name of the event to listen for. handler : FunctionThe method the event invokes. scope : Object(optional) The scope (this reference) in which the handler function is executed.
If omitted, defaults to the object which fired the event. options : Object(optional) An object containing handler configuration.
@@ -308,8 +313,8 @@ Using the options argument, it is possible to combine different types of listene
A delayed, one-time listener.
myDataView.on('click', this.onClick, this, {
- single: true,
- delay: 100
+single: true,
+delay: 100
});
Attaching multiple handlers in 1 call
@@ -317,27 +322,27 @@ The method also allows for a single argument to be passed which is a config obje
which specify multiple handlers.
myGridPanel.on({
- 'click' : {
- fn: this.onClick,
- scope: this,
- delay: 100
- },
- 'mouseover' : {
- fn: this.onMouseOver,
- scope: this
- },
- 'mouseout' : {
- fn: this.onMouseOut,
- scope: this
- }
+'click' : {
+ fn: this.onClick,
+ scope: this,
+ delay: 100
+},
+'mouseover' : {
+ fn: this.onMouseOver,
+ scope: this
+},
+'mouseout' : {
+ fn: this.onMouseOut,
+ scope: this
+}
});
Or a shorthand syntax:
myGridPanel.on({
- 'click' : this.onClick,
- 'mouseover' : this.onMouseOver,
- 'mouseout' : this.onMouseOut,
- scope: this
+'click' : this.onClick,
+'mouseover' : this.onMouseOver,
+'mouseout' : this.onMouseOut,
+ scope: this
});
Returns: | Observable | | addSorted( Ext.data.Record record )
:
void(Local sort only) Inserts the passed Record into the Store at the index where it
@@ -357,9 +362,42 @@ Ext.data.Record.COMMIT. | Store | | each( Function fn , [Object scope ] )
:
voidCalls the specified function for each of the Records in the cache. Calls the specified function for each of the Records in the cache. Parameters:fn : FunctionThe function to call. The Record is passed as the first parameter.
-Returning false aborts and exits the iteration. scope : Object(optional) The scope in which to call the function (defaults to the Record). Returns: | Store | | enableBubble( Object events )
- :
- voidUsed to enable bubbling of events Used to enable bubbling of events | Observable | | filter( String field , String/RegExp value , [Boolean anyMatch ], [Boolean caseSensitive ] )
+Returning false aborts and exits the iteration.scope : Object(optional) The scope ( this reference) in which the function is executed.
+Defaults to the current Record in the iteration. Returns: | Store | | enableBubble( String/Array events )
+ :
+ voidEnables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget() if present... Enables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget() if present. There is no implementation in the Observable base class.
+ This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default
+implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to
+access the required target more quickly.
+ Example: Ext.override(Ext.form.Field, {
+ // Add functionality to Field's initComponent to enable the change event to bubble
+ initComponent : Ext.form.Field.prototype.initComponent.createSequence(function() {
+ this.enableBubble('change');
+ }),
+
+ // We know that we want Field's events to bubble directly to the FormPanel.
+ getBubbleTarget : function() {
+ if (!this.formPanel) {
+ this.formPanel = this.findParentByType('form');
+ }
+ return this.formPanel;
+ }
+});
+
+var myForm = new Ext.formPanel({
+ title: 'User Details',
+ items: [{
+ ...
+ }],
+ listeners: {
+ change: function() {
+ // Title goes red if form has been modified.
+ myForm.header.setStyle('color', 'red');
+ }
+ }
+});
| Observable | | filter( String field , String/RegExp value , [Boolean anyMatch ], [Boolean caseSensitive ] )
:
voidFilter the records by a specified property. Filter the records by a specified property. Parameters:field : StringA field on your records value : String/RegExpEither a string that the field should begin with, or a RegExp to test
against the field. anyMatch : Boolean(optional) true to match any part not just the beginning caseSensitive : Boolean(optional) true for case sensitive comparison Returns: | Store | | filterBy( Function fn , [Object scope ] )
@@ -371,10 +409,10 @@ otherwise it is filtered out.Parameters:record : Ext.data.RecordThe record
to test for filtering. Access field values using Ext.data.Record.get.
id : ObjectThe ID of the Record passed.
- scope : Object(optional) The scope of the function (defaults to this) Returns: | Store | | find( String property , String/RegExp value , [Number startIndex ], [Boolean anyMatch ], [Boolean caseSensitive ] )
+scope : Object(optional) The scope (this reference) in which the function is executed. Defaults to this Store. Returns: | Store | | find( String fieldName , String/RegExp value , [Number startIndex ], [Boolean anyMatch ], [Boolean caseSensitive ] )
:
- NumberFinds the index of the first matching record in this store by a specific property/value. Finds the index of the first matching record in this store by a specific property/value. Parameters:property : StringA property on your objects value : String/RegExpEither a string that the property value
-should begin with, or a RegExp to test against the property. startIndex : Number(optional) The index to start searching at anyMatch : Boolean(optional) True to match any part of the string, not just the beginning caseSensitive : Boolean(optional) True for case sensitive comparison Returns:Number The matched index or -1
| Store | | findBy( Function fn , [Object scope ], [Number startIndex ] )
+ NumberFinds the index of the first matching Record in this store by a specific field value. Finds the index of the first matching Record in this store by a specific field value. Parameters:fieldName : StringThe name of the Record field to test. value : String/RegExpEither a string that the field value
+should begin with, or a RegExp to test against the field. startIndex : Number(optional) The index to start searching at anyMatch : Boolean(optional) True to match any part of the string, not just the beginning caseSensitive : Boolean(optional) True for case sensitive comparison Returns:Number The matched index or -1
| Store | | findBy( Function fn , [Object scope ], [Number startIndex ] )
:
NumberFind the index of the first matching Record in this Store by a function.
If the function returns true it is considere... Find the index of the first matching Record in this Store by a function.
@@ -382,9 +420,9 @@ If the function returns true it is considered a match. scope : Object(optional) The scope of the function (defaults to this) startIndex : Number(optional) The index to start searching at Returns:Number The matched index or -1
| Store | | findExact( String property , String/RegExp value , [Number startIndex ] )
+scope : Object(optional) The scope (this reference) in which the function is executed. Defaults to this Store. startIndex : Number(optional) The index to start searching at Returns:Number The matched index or -1
| Store | | findExact( String fieldName , Mixed value , [Number startIndex ] )
:
- NumberFinds the index of the first matching record in this store by a specific property/value. Finds the index of the first matching record in this store by a specific property/value. Parameters:property : StringA property on your objects value : String/RegExpThe value to match against startIndex : Number(optional) The index to start searching at Returns:Number The matched index or -1
| Store | | fireEvent( String eventName , Object... args )
+ NumberFinds the index of the first matching Record in this store by a specific field value. Finds the index of the first matching Record in this store by a specific field value. Parameters:fieldName : StringThe name of the Record field to test. value : MixedThe value to match the field against. startIndex : Number(optional) The index to start searching at Returns:Number The matched index or -1
| Store | | fireEvent( String eventName , Object... args )
:
BooleanFires the specified event with the passed parameters (minus the event name).
An event may be set to bubble up an Obse... Fires the specified event with the passed parameters (minus the event name).
@@ -457,14 +495,14 @@ will be automatically included with the posted parameters according to the speci
parameters to a remote data source. Note: params will override any
baseParams of the same name.
Parameters are encoded as standard HTTP parameters using Ext.urlEncode.
- callback : FunctionA function to be called after the Records
-have been loaded. The callback is called after the load event and is passed the following arguments:
-- r : Ext.data.Record[]
-- options: Options object from the load call
-- success: Boolean success indicator
- scope : ObjectScope with which to call the callback (defaults
+ callback : FunctionA function to be called after the Records
+have been loaded. The callback is called after the load event is fired, and is passed the following arguments:
+- r : Ext.data.Record[] An Array of Records loaded.
+- options : Options object from the load call.
+- success : Boolean success indicator.
+ scope : ObjectScope with which to call the callback (defaults
to the Store object)
- add : BooleanIndicator to append loaded records rather than
+ add : BooleanIndicator to append loaded records rather than
replace the current cache. Note: see note for loadData
Returns: | Store | | loadData( Object data , [Boolean append ] )
@@ -494,22 +532,30 @@ included in the results.Parameters:
record : Ext.data.RecordThe record
to test for filtering. Access field values using Ext.data.Record.get.
id : ObjectThe ID of the Record passed.
- scope : Object(optional) The scope of the function (defaults to this) Returns: | Store | | rejectChanges()
+scope : Object(optional) The scope (this reference) in which the function is executed. Defaults to this Store. Returns: | Store | | rejectChanges()
:
voidReject outstanding changes on all modified records. | Store | | relayEvents( Object o , Array events )
:
- voidRelays selected events from the specified Observable as if the events were fired by this. Relays selected events from the specified Observable as if the events were fired by this. | Observable | | reload( [Object options ] )
- :
- voidReloads the Record cache from the configured Proxy using the configured Reader and
-the options from the last load ope... Reloads the Record cache from the configured Proxy using the configured Reader and
-the options from the last load operation performed.
- Note: see the Important note in load. Parameters:options : Object(optional) An Object containing loading options which may
-override the options used in the last load operation. See load for details (defaults to
- null, in which case the lastOptions are used). Returns: | Store | | remove( Ext.data.Record record )
+ voidRelays selected events from the specified Observable as if the events were fired by this. Relays selected events from the specified Observable as if the events were fired by this. | Observable | | reload( Object options )
+ :
+ voidReloads the Record cache from the configured Proxy using the configured
+Reader and the options from the last load ope... Reloads the Record cache from the configured Proxy using the configured
+Reader and the options from the last load operation
+performed.
+ Note: see the Important note in load. Parameters:options : Object(optional) An Object containing
+loading options which may override the options
+used in the last load operation. See load for details
+(defaults to null, in which case the lastOptions are
+used).
+ To add new params to the existing params: lastOptions = myStore.lastOptions;
+Ext.apply(lastOptions.params, {
+ myNewParam: true
+});
+myStore.reload(lastOptions);
Returns: | Store | | remove( Ext.data.Record/Ext.data.Record[] record )
:
- voidRemove a Record from the Store and fires the remove event. Remove a Record from the Store and fires the remove event. | Store | | removeAll()
+ voidRemove Records from the Store and fires the remove event. Remove Records from the Store and fires the remove event. | Store | | removeAll( Boolean silent )
:
- voidRemove all Records from the Store and fires the clear event. Remove all Records from the Store and fires the clear event. | Store | | removeAt( Number index )
+ voidRemove all Records from the Store and fires the clear event. Remove all Records from the Store and fires the clear event. | Store | | removeAt( Number index )
:
voidRemove a Record from the Store at the specified index. Fires the remove event. Remove a Record from the Store at the specified index. Fires the remove event. | Store | | removeListener( String eventName , Function handler , [Object scope ] )
:
@@ -521,7 +567,7 @@ event... | Observable | | save()
:
- voidSaves all pending changes to the store. If the commensurate Ext.data.Api.actions action is not configured, then
+ Number Saves all pending changes to the store. If the commensurate Ext.data.Api.actions action is not configured, then
the ... Saves all pending changes to the store. If the commensurate Ext.data.Api.actions action is not configured, then
the configured url will be used.
@@ -530,7 +576,8 @@ change url
removed records Ext.data.Api.actions.destroy
phantom records Ext.data.Api.actions.create
modified records Ext.data.Api.actions.update
- | Store | | setBaseParam( String name , Mixed value )
+ | Store | | setBaseParam( String name , Mixed value )
:
voidSet the value for a property name in this store's baseParams. Usage:myStore.setBaseParam('foo', {bar:3}); Set the value for a property name in this store's baseParams. Usage: myStore.setBaseParam('foo', {bar:3});
| Store | | setDefaultSort( String fieldName , [String dir ] )
:
@@ -554,11 +601,14 @@ after the Fires before a request is made for a new data object. If the beforeload handler returns
false the load action will b... Fires before a request is made for a new data object. If the beforeload handler returns
- false the load action will be canceled. Listeners will be called with the following arguments:this : Storeoptions : ObjectThe loading options that were specified (see load for details)
| Store | | beforewrite :
- ( DataProxy this , String action , Record/Array[Record] rs , Object options , Object arg )
- Listeners will be called with the following arguments: | Store | | clear :
- ( Store this )
- Fires when the data cache has been cleared. Fires when the data cache has been cleared. Listeners will be called with the following arguments: | Store | | datachanged :
+false the load action will be canceled.Listeners will be called with the following arguments:this : Storeoptions : ObjectThe loading options that were specified (see load for details)
| Store | | beforesave :
+ ( Ext.data.Store store , Object data )
+ Fires before a save action is called. A save encompasses destroying records, updating records and creating records. Fires before a save action is called. A save encompasses destroying records, updating records and creating records. Listeners will be called with the following arguments: | Store | | beforewrite :
+ ( Ext.data.Store store , String action , Record/Array[Record] rs , Object options , Object arg )
+ Listeners will be called with the following arguments: | Store | | clear :
+ ( Store this , Record[] The )
+ Fires when the data cache has been cleared. Fires when the data cache has been cleared. Listeners will be called with the following arguments: | Store | | datachanged :
( Store this )
Fires when the data cache has changed in a bulk manner (e.g., it has been sorted, filtered, etc.) and a
widget that i... Fires when the data cache has changed in a bulk manner (e.g., it has been sorted, filtered, etc.) and a
@@ -584,15 +634,17 @@ for description. | Store
( Store this , Object meta )
Fires when this store's reader provides new metadata (fields). This is currently only supported for JsonReaders. Fires when this store's reader provides new metadata (fields). This is currently only supported for JsonReaders. Listeners will be called with the following arguments:this : Storemeta : ObjectThe JSON metadata
| Store | | remove :
( Store this , Ext.data.Record record , Number index )
- Fires when a Record has been removed from the Store Fires when a Record has been removed from the Store Listeners will be called with the following arguments: | Store | | update :
+ Fires when a Record has been removed from the Store Fires when a Record has been removed from the Store Listeners will be called with the following arguments: | Store | | save :
+ ( Ext.data.Store store , Number batch , Object data )
+ Fires after a save is completed. A save encompasses destroying records, updating records and creating records. Fires after a save is completed. A save encompasses destroying records, updating records and creating records. Listeners will be called with the following arguments:store : Ext.data.Storebatch : NumberThe identifier for the batch that was saved. data : ObjectAn object containing the data that is to be saved. The object will contain a key for each appropriate action,
+with an array of records for each action.
| Store | | update :
( Store this , Ext.data.Record record , String operation )
Fires when a Record has been updated Fires when a Record has been updated Listeners will be called with the following arguments: | Store | | write :
+ Ext.data.Record.REJECT
+ Ext.data.Record.COMMIT | Store | | write :
( Ext.data.Store store , String action , Object result , Ext.Direct.Transaction res , Record/Record[] rs )
Fires if the server returns 200 after an Ext.data.Api.actions CRUD action.
-Success or failure of the action is availa... Fires if the server returns 200 after an Ext.data.Api.actions CRUD action.
-Success or failure of the action is available in the result['successProperty'] property.
-The server-code might set the successProperty to false if a database validation
-failed, for example. Listeners will be called with the following arguments:store : Ext.data.Storeaction : String[Ext.data.Api.actions.create|update|destroy] result : ObjectThe 'data' picked-out out of the response for convenience. res : Ext.Direct.Transactionrs : Record/Record[]Store's records, the subject(s) of the write-action
| Store |
\ No newline at end of file
+Success of the action is determined in the...Fires if the server returns 200 after an Ext.data.Api.actions CRUD action.
+Success of the action is determined in the result['successProperty'] property ( NOTE for RESTful stores,
+a simple 20x response is sufficient for the actions "destroy" and "update". The "create" action should should return 200 along with a database pk). Listeners will be called with the following arguments:store : Ext.data.Storeaction : String[Ext.data.Api.actions.create|update|destroy] result : ObjectThe 'data' picked-out out of the response for convenience. res : Ext.Direct.Transactionrs : Record/Record[]Store's records, the subject(s) of the write-action
| Store |