This section describes methods that control the LocalStore.
Gets a data item with a specific key.
jQuery// The key consists of a single data field var singleKeyStore = new DevExpress.data.LocalStore({ key: "field1", // ... }); // Gets the data item with "field1" being equal to 1 singleKeyStore.byKey(1) .done(function (dataItem) { // Process the "dataItem" here }) .fail(function (error) { // Handle the "error" here }); // The key consists of several data fields var compositeKeyStore = new DevExpress.data.LocalStore({ key: [ "field1", "field2" ], // ... }); // Gets the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.byKey({ field1: 1, field2: 1 }).done(function (dataItem) { // Process the "dataItem" here }) .fail(function (error) { // Handle the "error" here });Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { singleKeyStore: LocalStore; compositeKeyStore: LocalStore; constructor() { // The key consists of a single data field this.singleKeyStore = new LocalStore({ key: "field1", // ... }); // Gets the data item with "field1" being equal to 1 this.singleKeyStore.byKey(1).then( (dataItem) => { /* Process the "dataItem" here */ }, (error) => { /* Handle the "error" here */ } ); // The key consists of several data fields this.compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); // Gets the data item with both "field1" and "field2" being equal to 1 this.compositeKeyStore.byKey({ field1: 1, field2: 1 }).then( (dataItem) => { /* Process the "dataItem" here */ }, (error) => { /* Handle the "error" here */ } ); }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; // The key consists of a single data field const singleKeyStore = new LocalStore({ key: "field1", // ... }); // The key consists of several data fields const compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); export default { data() { return { singleKeyStore, compositeKeyStore } }, mounted() { // Gets the data item with "field1" being equal to 1 singleKeyStore.byKey(1).then( (dataItem) => { /* Process the "dataItem" here */ }, (error) => { /* Handle the "error" here */ } ); // Gets the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.byKey({ field1: 1, field2: 1 }).then( (dataItem) => { /* Process the "dataItem" here */ }, (error) => { /* Handle the "error" here */ } ); }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; // The key consists of a single data field const singleKeyStore = new LocalStore({ key: "field1", // ... }); // The key consists of several data fields const compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); class App extends React.Component { constructor(props) { super(props); // Gets the data item with "field1" being equal to 1 singleKeyStore.byKey(1).then( (dataItem) => { /* Process the "dataItem" here */ }, (error) => { /* Handle the "error" here */ } ); // Gets the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.byKey({ field1: 1, field2: 1 }).then( (dataItem) => { /* Process the "dataItem" here */ }, (error) => { /* Handle the "error" here */ } ); } // ... } export default App;
Removes data from the local storage.
Depending on the immediate property's value, this method removes data immediately or after a specified delay.
jQueryvar store = new DevExpress.data.LocalStore({ // LocalStore is configured here }); store.clear();Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { store: LocalStore; constructor() { this.store = new LocalStore({ // LocalStore is configured here }); this.store.clear(); } }Vue
<script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); export default { data() { return { store } }, mounted() { store.clear(); }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); class App extends React.Component { constructor(props) { super(props); store.clear(); } // ... } export default App;
Creates a Query for the underlying array.
jQueryvar store = new DevExpress.data.ArrayStore({ // ArrayStore is configured here }); var query = store.createQuery();Angular
import ArrayStore from "devextreme/data/array_store"; import DevExpress from "devextreme/bundles/dx.all"; // ... export class AppComponent { store: ArrayStore; query: DevExpress.data.Query; constructor() { this.store = new ArrayStore({ // ArrayStore is configured here }); this.query = this.store.createQuery(); } }Vue
<script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // ArrayStore is configured here }); const query = store.createQuery(); export default { data() { return { store, query } } } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // ArrayStore is configured here }); const query = store.createQuery(); class App extends React.Component { // ... } export default App;See Also
Adds a data item to the store.
In the following code, dataObj is a data object added to the database and returned from the server. If the server returns nothing or the store works with local data, dataObj contains the data object passed to the insert method.
jQueryvar store = new DevExpress.data.LocalStore({ // LocalStore is configured here }); store.insert({ id: 1, name: "John Doe" }) .done(function (dataObj, key) { // Process the key and data object here }) .fail(function (error) { // Handle the "error" here });Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { store: LocalStore; constructor() { this.store = new LocalStore({ // LocalStore is configured here }); this.store.insert({ id: 1, name: "John Doe" }) .then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); export default { data() { return { store } }, mounted() { store.insert({ id: 1, name: "John Doe" }) .then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); class App extends React.Component { constructor(props) { super(props); store.insert({ id: 1, name: "John Doe" }) .then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); } // ... } export default App;
The data item's key value should be unique, otherwise, the insertion will fail.
Gets the key property (or properties) as specified in the key property.
The key property's value.
jQueryvar store = new DevExpress.data.LocalStore({ // ... key: "ProductID" }); var keyProps = store.key(); // returns "ProductID"Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { store: LocalStore; constructor() { this.store = new LocalStore({ // ... key: "ProductID" }); let keyProps = this.store.key(); // returns "ProductID" }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // ... key: 'ProductID' }); export default { data() { return { store } }, mounted() { this.keyProps = store.key(); // returns "ProductID" }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // ... key: 'ProductID' }); class App extends React.Component { constructor(props) { super(props); this.keyProps = store.key(); // returns "ProductID" } // ... } export default App;
Gets a data item's key value.
The data item's key value.
jQueryvar store = new DevExpress.data.LocalStore({ // ... key: "id" }); var key = store.keyOf({ id: 1, name: "John Doe" }); // returns 1Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { store: LocalStore; constructor() { this.store = new LocalStore({ // ... key: "id" }); let key = this.store.keyOf({ id: 1, name: "John Doe" }); // returns 1 }; }Vue
// ... <script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // ... key: 'id' }); export default { data() { return { store } }, mounted() { this.key = store.keyOf({ id: 1, name: "John Doe" }); // returns 1 }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // ... key: 'id' }); class App extends React.Component { constructor(props) { super(props); this.keyProps = store.keyOf({ id: 1, name: "John Doe" }); // returns 1 } // ... } export default App;
Starts loading data.
Parameters:Data processing settings.
jQueryvar store = new DevExpress.data.LocalStore({ // LocalStore is configured here }); store.load(options) .done(function (data) { // Process "data" here }) .fail(function (error) { // Handle the "error" here });Angular
import LocalStore from "devextreme/data/local_store"; import DevExpress from "devextreme/bundles/dx.all"; // ... export class AppComponent { store: LocalStore; constructor() { this.store = new LocalStore({ // LocalStore is configured here }); let options: DevExpress.data.LoadOptions = { // Data processing settings are specified here }; this.store.load(options) .then( (data) => { /* Process "data" here */ }, (error) => { /* Handle the "error" here */ } ); }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); export default { data() { return { store } }, mounted() { let options = { // Data processing settings are specified here }; store.load(options) .then( (data) => { /* Process "data" here */ }, (error) => { /* Handle the "error" here */ } ); }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); class App extends React.Component { constructor(props) { super(props); let options = { // Data processing settings are specified here }; store.load(options) .then( (data) => { /* Process "data" here */ }, (error) => { /* Handle the "error" here */ } ); } // ... } export default App;
Detaches all event handlers from a single event.
The object for which this method is called.
Detaches a particular event handler from a single event.
Parameters:The event's name.
The event's handler.
The object for which this method is called.
Subscribes to an event.
Parameters:The event's name.
The event's handler.
The object for which this method is called.
Use this method to subscribe to one of the events listed in the Events section.
See AlsoSubscribes to events.
Parameters:Events with their handlers: { "eventName1": handler1, "eventName2": handler2, ...}
The object for which this method is called.
Use this method to subscribe to several events with one method call. Available events are listed in the Events section.
See AlsoPushes data changes to the store and notifies the DataSource.
Parameters:Data changes to be pushed.
Each data change is an object that can have the following fields:
type
: String
Data change type: "insert", "update", or "remove".
data
: Object
Changes that should be applied to the store's data.
key
: any
The key of the data item being updated or removed.
index
: Number
The position at which to display a new data item in a UI component bound to the store. To display the new data item first, set the index
to 0. To add it to the end of the current page, set the index
to -1.
The index
field is optional. If you do not specify it, the new data item is added to the end of the dataset. However, if data is grouped or split into pages, this item does not appear in the UI component until data is reshaped. In this case, specify the index
to show the pushed item immediately.
The index
field is ignored if reshapeOnPush is enabled (see the note below).
The following code shows how to use the push(changes) method for each change type:
jQueryvar store = new DevExpress.data.LocalStore({ // LocalStore is configured here }); store.push([{ type: "insert", data: dataObj, index: index }]); store.push([{ type: "update", data: dataObj, key: key }]); store.push([{ type: "remove", key: key }]);Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { store: LocalStore; constructor() { this.store = new LocalStore({ // LocalStore is configured here }); this.store.push([{ type: "insert", data: dataObj, index: index }]); this.store.push([{ type: "update", data: dataObj, key: key }]); this.store.push([{ type: "remove", key: key }]); }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); export default { data() { return { store } }, mounted() { store.push([{ type: "insert", data: dataObj, index: index }]); store.push([{ type: "update", data: dataObj, key: key }]); store.push([{ type: "remove", key: key }]); } } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); class App extends React.Component { constructor(props) { super(props); store.push([{ type: "insert", data: dataObj, index: index }]); store.push([{ type: "update", data: dataObj, key: key }]); store.push([{ type: "remove", key: key }]); } // ... } export default App;
DataGrid Real-Time Updates Demo DataGrid SignalR Demo Chart SignalR Demo DataGrid Collaborative Editing Demo
See AlsoRemoves a data item with a specific key from the store.
jQuery// The key consists of a single data field var singleKeyStore = new DevExpress.data.LocalStore({ key: "field1", // ... }); // Removes the data item with "field1" being equal to 1 singleKeyStore.remove(1) .done(function (key) { // Process the "key" here }) .fail(function (error) { // Handle the "error" here }); // The key consists of several data fields var compositeKeyStore = new DevExpress.data.LocalStore({ key: [ "field1", "field2" ], // ... }); // Removes the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.remove({ field1: 1, field2: 1 }).done(function (key) { // Process the "key" here }) .fail(function (error) { // Handle the "error" here });Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { singleKeyStore: LocalStore; compositeKeyStore: LocalStore; constructor() { // The key consists of a single data field this.singleKeyStore = new LocalStore({ key: "field1", // ... }); // Removes the data item with "field1" being equal to 1 this.singleKeyStore.remove(1) .then( (key) => { /* Process the "key" here */ }, (error) => { /* Handle the "error" here */ } ); // The key consists of several data fields this.compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); // Removes the data item with both "field1" and "field2" being equal to 1 this.compositeKeyStore.remove({ field1: 1, field2: 1 }).then( (key) => { /* Process the "key" here */ }, (error) => { /* Handle the "error" here */ } ); }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; // The key consists of a single data field const singleKeyStore = new LocalStore({ key: "field1", // ... }); // The key consists of several data fields const compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); export default { data() { return { singleKeyStore, compositeKeyStore } }, mounted() { // Removes the data item with "field1" being equal to 1 singleKeyStore.remove(1).then( (key) => { /* Process the "key" here */ }, (error) => { /* Handle the "error" here */ } ); // Removes the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.remove({ field1: 1, field2: 1 }).then( (key) => { /* Process the "key" here */ }, (error) => { /* Handle the "error" here */ } ); }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; // The key consists of a single data field const singleKeyStore = new LocalStore({ key: "field1", // ... }); // The key consists of several data fields const compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); class App extends React.Component { constructor(props) { super(props); // Removes the data item with "field1" being equal to 1 singleKeyStore.remove(1).then( (key) => { /* Process the "key" here */ }, (error) => { /* Handle the "error" here */ } ); // Removes the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.remove({ field1: 1, field2: 1 }).then( (key) => { /* Process the "key" here */ }, (error) => { /* Handle the "error" here */ } ); } // ... } export default App;
Gets the total count of items the load() function returns.
Parameters:Filtering and grouping properties.
Object structure:
Name Type Description filterA filtering expression; described in the Filtering section.
groupA grouping expression; described in the Grouping section.
jQueryvar store = new DevExpress.data.LocalStore({ // LocalStore is configured here }); store.totalCount() .done(function (count) { // Process the "count" here }) .fail(function (error) { // Handle the "error" here });Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { store: LocalStore; constructor() { this.store = new LocalStore({ // LocalStore is configured here }); this.store.totalCount() .then( (count) => { /* Process the "count" here */ }, (error) => { /* Handle the "error" here */ } ); }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); export default { data() { return { store } }, mounted() { store.totalCount() .then( (count) => { /* Process the "count" here */ }, (error) => { /* Handle the "error" here */ } ); }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; const store = new LocalStore({ // LocalStore is configured here }); class App extends React.Component { constructor(props) { super(props); store.totalCount() .then( (count) => { /* Process the "count" here */ }, (error) => { /* Handle the "error" here */ } ); } // ... } export default App;
Updates a data item with a specific key.
Parameters:A data item's key value.
An object with new values for the data item.
In the following code, dataObj is a data object updated in the database and returned from the server. If the server returns nothing or the store works with local data, dataObj contains the data object passed to the update method.
jQuery// The key consists of a single data field var singleKeyStore = new DevExpress.data.LocalStore({ key: "field1", // ... }); // Updates the data item with "field1" being equal to 1 singleKeyStore.update(1, { name: "John Smith" }) .done(function (dataObj, key) { // Process the key and data object here }) .fail(function (error) { // Handle the "error" here }); // The key consists of several data fields var compositeKeyStore = new DevExpress.data.LocalStore({ key: [ "field1", "field2" ], // ... }); // Updates the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.update( { field1: 1, field2: 1 }, { name: "John Smith" } ).done(function (dataObj, key) { // Process the key and data object here }) .fail(function (error) { // Handle the "error" here });Angular
import LocalStore from "devextreme/data/local_store"; // ... export class AppComponent { singleKeyStore: LocalStore; compositeKeyStore: LocalStore; constructor() { // The key consists of a single data field this.singleKeyStore = new LocalStore({ key: "field1", // ... }); // Updates the data item with "field1" being equal to 1 this.singleKeyStore.update(1, { name: "John Smith" }) .then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); // The key consists of several data fields this.compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); // Updates the data item with both "field1" and "field2" being equal to 1 this.compositeKeyStore.update( { field1: 1, field2: 1 }, { name: "John Smith" } ).then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); }; }Vue
<script> import LocalStore from 'devextreme/data/local_store'; // The key consists of a single data field const singleKeyStore = new LocalStore({ key: "field1", // ... }); // The key consists of several data fields const compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); export default { data() { return { singleKeyStore, compositeKeyStore } }, mounted() { // Updates the data item with "field1" being equal to 1 singleKeyStore.update(1, { name: "John Smith" }).then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); // Updates the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.update( { field1: 1, field2: 1 }, { name: "John Smith" } ).then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); }, // ... } </script>React
// ... import LocalStore from 'devextreme/data/local_store'; // The key consists of a single data field const singleKeyStore = new LocalStore({ key: "field1", // ... }); // The key consists of several data fields const compositeKeyStore = new LocalStore({ key: [ "field1", "field2" ], // ... }); class App extends React.Component { constructor(props) { super(props); // Updates the data item with "field1" being equal to 1 singleKeyStore.update(1, { name: "John Smith" }).then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); // Updates the data item with both "field1" and "field2" being equal to 1 compositeKeyStore.update( { field1: 1, field2: 1 }, { name: "John Smith" } ).then( (dataObj) => { /* Process the data object here */ }, (error) => { /* Handle the "error" here */ } ); } // ... } export default App;Feel free to share topic-related thoughts here.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4