A Store object that enables you to implement your own data access logic.

Included in: dx.phonejs.js, dx.webappjs.js, dx.chartjs.js, dx.all.js


This class requires you to implement all data access operations. Each function implementing an operation should be passed to the corresponding configuration option of the CustomStore.

var store = new{
    load: function(loadOptions) {
        // . . .
    byKey: function(key, extra) {
        // . . .
    update: function(key, values) {
        // . . .
    . . .  

Note that despite Store operations being asynchronous and returning the jQuery.Deferred promise, you do not need to create the jQuery.Deferred object within your function. The function should return an object compatible with jQuery.Deferred.

For more information on creating a CustomStore, refer to the Data Source Examples topic.


This section describes configuration options used to configure the CustomStore.


This section describes the methods used to access the data associated with the Store.


This section describes events raised by this Data Store object.

To handle events, use one of the following methods.