ExtJs中Store簡(jiǎn)介-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、北流網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、北流網(wǎng)絡(luò)營銷、北流企業(yè)策劃、北流品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供北流建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn>一.什么store?
Store類似于一個(gè)本地倉庫(即數(shù)據(jù)存儲(chǔ)器),包括有 ArrayStore,DirectStore,GroupingStore,JsonStore,XmlStore(都是store的子類)最終主要用于提供給panel去顯示.Store由Proxy(數(shù)據(jù)源)和DataReader(解讀數(shù)據(jù))組成。
一.(Proxy)數(shù)據(jù)源:一般是后臺(tái)的值,習(xí)慣性的把它轉(zhuǎn)換成json對(duì)象給store(注:個(gè)人理解)
二.(DataReader)讀取數(shù)據(jù):獲得了數(shù)據(jù)后需要解析數(shù)據(jù),DataReader(fields屬性其實(shí)是Record對(duì)象的)解析數(shù)據(jù)并指定格式.
三.store存儲(chǔ)好的數(shù)據(jù)最后交給panel
二.store中重要的屬性和方法
屬性:data、proxy、reader、url、root ....

方法:load

1、如果配置了data,則proxy和url無效,且不需要調(diào)用load方法來生成Record集合
 var store=new Ext.data.ArrayStore({
   fields: ['DEPTNO', 'DNAME', 'LOC'],
   data:Ext.datas.mess//引用data.js 數(shù)據(jù) });
2、如果沒有配置data,則必須設(shè)置proxy或url,或兩者都設(shè)置。此時(shí),如果沒有將autoLoad設(shè)置為true,
那么需要手動(dòng)進(jìn)行l(wèi)oad方法的調(diào)用。就是為了得到數(shù)組、Json或Xml等格式的數(shù)據(jù)。
 1 //JsonStore是負(fù)責(zé)后臺(tái)返回json對(duì)象的處理http:// 2   var store1 = new Ext.data.JsonStore({
 3         autoDestroy: true,
 4         url: 'extjsTest/extjs_getEmpByDeptNo.action',
 5         storeId: 'myStore',
 6         root:"emp",//json對(duì)象組 類似這種對(duì)象:{emp:[{EMPNO:'xx',....}]} 7         fields: [
 8             {name: 'EMPNO', mapping:'EMPNO', type: 'float'},
 9             {name: 'ENAME', mapping:'ENAME',type: 'string'}, 
10             {name : 'HIREDATE', type : 'date', mapping : 'HIREDATE'},
11             {name: 'DEPTNO', mapping:'DEPTNO', type: 'float'}
12         ]
13     });
3、reader是必須的,用以指定數(shù)據(jù)解析器,
需要根據(jù)獲得的數(shù)據(jù)格式指定相應(yīng)類型的解析器。(上面簡(jiǎn)寫了,其實(shí)fidlds是由DataReader對(duì)象創(chuàng)建Record實(shí)例的一個(gè)屬性)

4、如果沒有指定proxy,但指定了url,則會(huì)默認(rèn)用HttpProxy作為數(shù)據(jù)源,并將url作為HttpProxy實(shí)例化時(shí)的參數(shù)。
1 var myStore = new Ext.data.Store({
2     reader: myReader,
3     proxy : new Ext.data.HttpProxy({
4         method: "POST",
5         url: 'extjsTest/extjs_getEmpByDeptNo.action',
6     }) 
7 });
5、root是指定json組(個(gè)人這樣理解的),算了,看json傳過來的對(duì)象應(yīng)該清楚了
{emp:[{"EMPNO":7369,"HIREDATE":"1980-12-17","ENAME":"SMITH"},{"EMPNO":7499,"HIREDATE":"1981-02-20","ENAME":"ALLEN"},{"EMPNO":7521,"HIREDATE":"1981-02-22","ENAME":"WARD"},{"EMPNO":7566,"HIREDATE":"1981-04-02","ENAME":"JONES"},{"EMPNO":7654,"HIREDATE":"1981-09-28","ENAME":"MARTIN"}]}
store.load() 代表加載數(shù)據(jù)store中的數(shù)據(jù)...(具體看api文檔,武功秘籍下載地址:http://extjs.org.cn/download/)

6、EXT中所有和數(shù)據(jù)相關(guān)的類都放在Ext.data命名空間下:
* Store: 最主要的對(duì)外交互接口,內(nèi)部保存了一個(gè)數(shù)據(jù)集。

JsonStore
JsonReader 把代理讀取的數(shù)據(jù)讀入數(shù)據(jù)集。

* Record: 數(shù)據(jù)集里面的每一條記錄。

* DataField: 定義了記錄每個(gè)字段的schema。

* DataProxy: 獲取數(shù)據(jù)的代理。
ScriptTagProxy
HttpProxy,

* DataReader: 把代理讀取的數(shù)據(jù)讀入數(shù)據(jù)集。

本文整理自:http://blog.csdn.net/without0815/article/details/7798170

分享題目:ExtJs中Store簡(jiǎn)介-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article2/deipoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、App設(shè)計(jì)、建站公司外貿(mào)建站、軟件開發(fā)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站