ExtJs4學習MVC中的Store
Ext.data.Store是extjs中用來進行資料交換和資料互動的標準中介軟體,無論是Grid還是ComboBox,都是通過它 實現資料讀取、類型轉換、排序分頁和搜尋等操作的。
Ext.define('User', { extend: 'Ext.data.Model', fields: [ {name: 'loginname', type: 'string'}, {name: 'ip', type: 'string'} ]});
Store既可以從本地數組中讀取資料,也可以從伺服器遠程讀取資料,當然還可以伺服器代理讀取,這些都得靠proxy實現,至於還有哪些區分,以及實現方式將再下一節闡述
為了更好的說清楚Store的用法,我們做如下例子
var store = Ext.create('Ext.data.Store', { model: 'User', proxy: { type: 'memory', data:[{loginname:'admin',ip:'192.168.1.2'},{loginname:'guest',ip:'192.168.1.5'}] }, //autoLoad:true//配置了此項,表明資料集自動載入});一些常用方法
//載入資料store.load();//添加資料store.add({loginname:'administrator.com',ip:'192.168.1.8'});//讀取資料store.each(function(record){console.info(record.get('loginname'));alert(record.get('loginname'));});//過濾//store.filter("loginname", /\.com$/);根據單個屬性域(field)過濾:store.filter([ {property: "loginname", value: /\.com$/}, {filterFn: function(item) { return item.get("ip") == '192.168.1.5'; }}]);//尋找某條記錄var record = store.find('loginname','guest');//擷取store中第一條記錄的快捷方法.var record = store.first();//擷取指定index處的記錄var record = store.getAt(2);//擷取store中記錄的數量var count = store.getCount;//擷取store中最後一條記錄的快捷方法var record = store.last();